Changeset 0a694bb


Ignore:
Timestamp:
02/07/21 16:25:56 (3 years ago)
Author:
Dimitar Slezenkovski <dslezenkovski@…>
Branches:
master
Children:
e0cdea2
Parents:
ac51326
Message:

Fix create new user bug.

Files:
13 edited
2 moved

Legend:

Unmodified
Added
Removed
  • Farmatiko/Controllers/AdminController.cs

    rac51326 r0a694bb  
    4444        [HttpPost]
    4545        [Route("api/pharmacyhead/add")]
    46         public async Task<IActionResult> AddPharmacyHead([FromBody]PharmacyHead pharmacyHead)
     46        public async Task<IActionResult> AddPharmacyHead([FromBody]PharmacyHeadDto pharmacyHead)
    4747        {
    48             await _service.AddPharmacyHead(pharmacyHead);
    49             return Ok("Pharmacy added.");
     48            bool Success = await _service.AddPharmacyHead(pharmacyHead);
     49            if (Success)
     50                return Ok("Pharmacy added.");
     51            return BadRequest();
    5052        }
    5153
    52         [HttpDelete]
     54        [HttpPost]
    5355        [Route("api/pharmacyhead/delete/{Id}")]
    5456        public async Task<IActionResult> RemovePharmacyHead([FromRoute] int Id)
     
    5759            return Ok();
    5860        }
    59         [HttpDelete]
     61        [HttpPost]
    6062        [Route("api/pharmacyhead/requests/{Id}")]
    6163        public IActionResult RejectRequest([FromRoute] int Id)
  • Farmatiko/Controllers/PharmacyHeadController.cs

    rac51326 r0a694bb  
    4444            return Ok(Success);
    4545        }
    46         [HttpDelete]
     46       /* [HttpDelete]
    4747        [Route("api/pharmacyhead/delete/{Id}")]
    4848        public async Task<IActionResult> Remove([FromRoute] int Id)
     
    5050            bool Success = await _PHService.Remove(Id);
    5151            return Ok(Success);
    52         }
    53         [HttpPost]
     52        }*/
     53       /* [HttpPost]
    5454        [Route("api/pharmacyhead/requests/{Id}")]
    5555        public async Task<IActionResult> RemoveClaimingRequest([FromRoute] int Id)
     
    5757            bool Success = await _PHService.RemoveClaimingRequest(Id);
    5858            return Ok(Success);
    59         }
     59        }*/
    6060
    6161    }
  • FarmatikoData/DTOs/PharmacyDTO.cs

    rac51326 r0a694bb  
    1111        [JsonProperty("name")]
    1212        public string Name { get; set; }
    13         [JsonProperty("Location")]
     13        [JsonProperty("location")]
    1414        public string Location { get; set; }
    1515        [JsonProperty("address")]
    1616        public string Address { get; set; }
    17         [JsonProperty("workalltime")]
     17        [JsonProperty("workAllTime")]
    1818        public bool WorkAllTime { get; set; }
    1919        [JsonProperty("headName")]
  • FarmatikoData/FarmatikoDataContext.cs

    rac51326 r0a694bb  
    3838                .ToTable("PHRequests");
    3939
     40            modelBuilder.Entity<PharmacyHead>()
     41                .Property(p => p.Id)
     42                .ValueGeneratedOnAdd();
     43
    4044            /*modelBuilder.Entity<Medicine>()
    4145                .Property(x => x.Id)
     
    7478                .WithMany(p => p.Pharmacy);
    7579            */
    76            
     80
    7781            base.OnModelCreating(modelBuilder);
    7882        }
  • FarmatikoData/FarmatikoRepo/Repository.cs

    rac51326 r0a694bb  
    7171                Address = x.Address,
    7272                WorkAllTime = x.WorkAllTime,
    73                 PheadId = x.PheadId
     73                PheadId = x.PheadId,
     74                PharmacyHead = x.PharmacyHead
    7475            }).Take(5).ToListAsync();
    7576            return Pharmacies;
     
    9192        {
    9293            var SearchQuery = await _context.HealthFacilities
    93             .Where(x => x.Name.IndexOf(query, StringComparison.OrdinalIgnoreCase) >= 0)
     94            .Where(x => x.Name.ToLowerInvariant().Contains(query.ToLowerInvariant()))
    9495            .OrderBy(x => x.Name).ToListAsync();
    9596
     
    100101        {
    101102            var SearchQuery = await _context.Medicines
    102             .Where(x => x.Name.IndexOf(query, StringComparison.OrdinalIgnoreCase) >= 0)
     103            .Where(x => x.Name.ToLowerInvariant().Contains(query.ToLowerInvariant()))
    103104            .OrderBy(x => x.Name).ToListAsync();
    104105
     
    109110        {
    110111            var SearchQuery = await _context.Pharmacies
    111             .Where(x => x.Name.IndexOf(query, StringComparison.OrdinalIgnoreCase) >= 0)
     112            .Where(x => x.Name.ToLowerInvariant().Contains(query.ToLowerInvariant()))
    112113            .OrderBy(x => x.Name).ToListAsync();
    113114
     
    118119        {
    119120            var SearchQuery = await _context.HealthcareWorkers
    120             .Where(x => x.Name.IndexOf(query, StringComparison.OrdinalIgnoreCase) >= 0)
     121            .Where(x => x.Name.ToLowerInvariant().Contains(query.ToLowerInvariant()))
    121122            .OrderBy(x => x.Name).ToListAsync();
    122123
     
    154155            if (pharmacyHead.Id == 0)
    155156            {
    156                 var pheads = await _context.PharmacyHeads.ToListAsync();
    157                 if (!pheads.Select(x => x.Equals(pharmacyHead)).FirstOrDefault())
     157                var pheads = await _context.PharmacyHeads.Select(x => new PharmacyHead
     158                {
     159                    Name = x.Name,
     160                    Email = x.Email
     161                }).ToListAsync();
     162                var pheadusr = pheads.Where(x => x.Email.Equals(pharmacyHead.Email)).ToList();
     163                if (pheadusr == null || pheadusr.Count() == 0)
    158164                {
    159165                    await _context.PharmacyHeads.AddAsync(pharmacyHead);
     
    285291        }
    286292
    287         public async Task AddUser(User user)
     293        public async Task<bool> AddUser(User user)
    288294        {
    289295            if (user.Id == 0)
    290296            {
    291                 var users = await _context.Users.ToListAsync();
    292                 if (!users.Select(x => x.Equals(user)).FirstOrDefault())
     297                var users = await _context.Users.Select(x => new User
     298                {
     299                    Name = x.Name,
     300                    Email = x.Email,
     301                    Password = x.Password,
     302                    UserRole = x.UserRole
     303                }).ToListAsync();
     304                var usr = users.Where(x => x.Email.Equals(user.Email)).ToList();
     305                if (usr != null || usr.Count() > 0)
     306                {
     307                    return true;
     308                }
     309                else
    293310                {
    294311                    await _context.Users.AddAsync(user);
    295312                    await _context.SaveChangesAsync();
     313                    return true;
    296314                }
    297315            }
     316            return false;
    298317        }
    299318
    300319        public async Task<List<PharmacyHeadMedicine>> GetAllPHMedicines()
    301320        {
    302             var list = await _context.PharmacyHeadMedicines.ToListAsync();
     321            var list = await _context.PharmacyHeadMedicines.Select(x => new PharmacyHeadMedicine
     322            {
     323                PheadId = x.PheadId,
     324                Head = x.Head,
     325                MedicineId = x.MedicineId,
     326                Medicine = x.Medicine
     327            }
     328            ).ToListAsync();
    303329            return list;
    304330        }
  • FarmatikoData/FarmatikoRepoInterfaces/IRepository.cs

    rac51326 r0a694bb  
    4646        User GetRole(string userName);
    4747        ICollection<PharmacyHeadMedicine> GetPHMedicines(string email);
    48         Task AddUser(User user);
     48        Task<bool> AddUser(User user);
    4949    }
    5050}
  • FarmatikoData/Migrations/20210205174704_Initial-Migration.Designer.cs

    rac51326 r0a694bb  
    1111{
    1212    [DbContext(typeof(FarmatikoDataContext))]
    13     [Migration("20210124191844_InitialMigration")]
     13    [Migration("20210205174704_Initial-Migration")]
    1414    partial class InitialMigration
    1515    {
     
    101101                        .ValueGeneratedOnAdd()
    102102                        .HasColumnType("integer")
    103                         .HasAnnotation("Npgsql:IdentitySequenceOptions", "'1', '1', '', '', 'False', '1'")
    104103                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn);
    105104
     
    188187                        .ValueGeneratedOnAdd()
    189188                        .HasColumnType("integer")
    190                         .HasAnnotation("Npgsql:IdentitySequenceOptions", "'1', '1', '', '', 'False', '1'")
    191189                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn);
    192190
     
    230228                        .ValueGeneratedOnAdd()
    231229                        .HasColumnType("integer")
    232                         .HasAnnotation("Npgsql:IdentitySequenceOptions", "'1', '1', '', '', 'False', '1'")
    233230                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn);
    234231
     
    251248                        .HasColumnType("text");
    252249
    253                     b.Property<int?>("UserId")
    254                         .HasColumnType("integer");
    255 
    256                     b.HasKey("Id");
    257 
    258                     b.HasIndex("UserId");
     250                    b.Property<int>("UserID")
     251                        .HasColumnType("integer");
     252
     253                    b.HasKey("Id");
     254
     255                    b.HasIndex("UserID");
    259256
    260257                    b.ToTable("PharmacyHeads");
     
    266263                        .ValueGeneratedOnAdd()
    267264                        .HasColumnType("integer")
    268                         .HasAnnotation("Npgsql:IdentitySequenceOptions", "'1', '1', '', '', 'False', '1'")
    269265                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn);
    270266
     
    298294                        .ValueGeneratedOnAdd()
    299295                        .HasColumnType("integer")
    300                         .HasAnnotation("Npgsql:IdentitySequenceOptions", "'1', '1', '', '', 'False', '1'")
    301296                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn);
    302297
     
    375370                    b.HasOne("FarmatikoData.Models.User", "User")
    376371                        .WithMany()
    377                         .HasForeignKey("UserId");
     372                        .HasForeignKey("UserID")
     373                        .OnDelete(DeleteBehavior.Cascade)
     374                        .IsRequired();
    378375                });
    379376
  • FarmatikoData/Migrations/20210205174704_Initial-Migration.cs

    rac51326 r0a694bb  
    1515                    Id = table.Column<int>(nullable: false)
    1616                        .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn),
    17                     CreatedOn = table.Column<DateTime>(nullable: false, defaultValueSql: "now()"),
     17                    CreatedOn = table.Column<DateTime>(nullable: false, defaultValueSql:"now()"),
    1818                    DeletedOn = table.Column<DateTime>(nullable: true),
    1919                    Name = table.Column<string>(nullable: false),
     
    125125                    Name = table.Column<string>(nullable: false),
    126126                    Password = table.Column<string>(nullable: false),
    127                     UserId = table.Column<int>(nullable: true)
     127                    UserID = table.Column<int>(nullable: false)
    128128                },
    129129                constraints: table =>
     
    131131                    table.PrimaryKey("PK_PharmacyHeads", x => x.Id);
    132132                    table.ForeignKey(
    133                         name: "FK_PharmacyHeads_Users_UserId",
    134                         column: x => x.UserId,
     133                        name: "FK_PharmacyHeads_Users_UserID",
     134                        column: x => x.UserID,
    135135                        principalTable: "Users",
    136136                        principalColumn: "Id",
    137                         onDelete: ReferentialAction.Restrict);
     137                        onDelete: ReferentialAction.Cascade);
    138138                });
    139139
     
    172172                    CreatedOn = table.Column<DateTime>(nullable: false, defaultValueSql: "now()"),
    173173                    DeletedOn = table.Column<DateTime>(nullable: true),
    174                     PheadId = table.Column<int>(nullable: true),
     174                    PheadId = table.Column<int>(nullable: false),
    175175                    HeadId = table.Column<int>(nullable: true),
    176                     MedicineId = table.Column<int>(nullable: true)
     176                    MedicineId = table.Column<int>(nullable: false)
    177177                },
    178178                constraints: table =>
     
    242242
    243243            migrationBuilder.CreateIndex(
    244                 name: "IX_PharmacyHeads_UserId",
     244                name: "IX_PharmacyHeads_UserID",
    245245                table: "PharmacyHeads",
    246                 column: "UserId");
     246                column: "UserID");
    247247
    248248            migrationBuilder.CreateIndex(
  • FarmatikoData/Migrations/FarmatikoDataContextModelSnapshot.cs

    rac51326 r0a694bb  
    9999                        .ValueGeneratedOnAdd()
    100100                        .HasColumnType("integer")
    101                         .HasAnnotation("Npgsql:IdentitySequenceOptions", "'1', '1', '', '', 'False', '1'")
    102101                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn);
    103102
     
    186185                        .ValueGeneratedOnAdd()
    187186                        .HasColumnType("integer")
    188                         .HasAnnotation("Npgsql:IdentitySequenceOptions", "'1', '1', '', '', 'False', '1'")
    189187                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn);
    190188
     
    228226                        .ValueGeneratedOnAdd()
    229227                        .HasColumnType("integer")
    230                         .HasAnnotation("Npgsql:IdentitySequenceOptions", "'1', '1', '', '', 'False', '1'")
    231228                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn);
    232229
     
    249246                        .HasColumnType("text");
    250247
    251                     b.Property<int?>("UserId")
    252                         .HasColumnType("integer");
    253 
    254                     b.HasKey("Id");
    255 
    256                     b.HasIndex("UserId");
     248                    b.Property<int>("UserID")
     249                        .HasColumnType("integer");
     250
     251                    b.HasKey("Id");
     252
     253                    b.HasIndex("UserID");
    257254
    258255                    b.ToTable("PharmacyHeads");
     
    264261                        .ValueGeneratedOnAdd()
    265262                        .HasColumnType("integer")
    266                         .HasAnnotation("Npgsql:IdentitySequenceOptions", "'1', '1', '', '', 'False', '1'")
    267263                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn);
    268264
     
    296292                        .ValueGeneratedOnAdd()
    297293                        .HasColumnType("integer")
    298                         .HasAnnotation("Npgsql:IdentitySequenceOptions", "'1', '1', '', '', 'False', '1'")
    299294                        .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn);
    300295
     
    373368                    b.HasOne("FarmatikoData.Models.User", "User")
    374369                        .WithMany()
    375                         .HasForeignKey("UserId");
     370                        .HasForeignKey("UserID")
     371                        .OnDelete(DeleteBehavior.Cascade)
     372                        .IsRequired();
    376373                });
    377374
  • FarmatikoData/Models/Medicine.cs

    rac51326 r0a694bb  
    2323        public string Packaging { get; set; }
    2424        //[JsonPropertyName("PHMedicineList")]
    25         public ICollection<PharmacyHeadMedicine> Medicines { get; set; }
     25        public virtual ICollection<PharmacyHeadMedicine> Medicines { get; set; }
    2626        public Medicine(string Name, string Strength, string Form, string WayOfIssuing, string Manufacturer, float Price, string Packaging)
    2727        {
  • FarmatikoData/Models/Pharmacy.cs

    rac51326 r0a694bb  
    55using FarmatikoData.Base;
    66using Microsoft.EntityFrameworkCore;
     7using Newtonsoft.Json;
    78
    89namespace FarmatikoData.Models
     
    1213        public Pharmacy() { }
    1314        [Required]
     15        [JsonProperty("name")]
    1416        public string Name { get; set; }
    1517        [Required]
     18        [JsonProperty("location")]
    1619        public string Location { get; set; }
    1720        [Required]
     21        [JsonProperty("address")]
    1822        public string Address { get; set; }
    1923        [Required]
     24        [JsonProperty("workAllTime")]
    2025        public bool WorkAllTime { get; set; }
    2126        public Pharmacy(string Name, string Location, string Address, bool WorkAllTime)
  • FarmatikoData/Models/PharmacyHead.cs

    rac51326 r0a694bb  
    2424        public virtual List<Pharmacy> Pharmacies { get; set; }
    2525        public virtual List<PharmacyHeadMedicine> Medicines { get; set; }
    26        
     26
     27        public int UserID { get; set; }
    2728        public User User { get; set; }
    2829
  • FarmatikoServices/FarmatikoServiceInterfaces/IService.cs

    rac51326 r0a694bb  
    2828        Task AddFacility(HealthFacility healthFacilities);
    2929        Task AddPharmacy(Pharmacy pharmacy);
    30         Task AddPharmacyHead(PharmacyHead pharmacyHead);
     30        Task<bool> AddPharmacyHead(PharmacyHeadDto pharmacyHead);
    3131        Task AddMedicines(Medicine medicine);
    3232        Task AddPandemic(Pandemic pandemic);
  • FarmatikoServices/Services/PHService.cs

    rac51326 r0a694bb  
    7373
    7474               
    75 
    76                 if (!pharmacyHead.Medicines.Equals(PHMedicines))
    77                 {
    78                     //phead.Medicines = pharmacyHead.Medicines;
    79                     if (pharmacyHead.Medicines.Count() == 0)
     75                if (pharmacyHead.Medicines != null || pharmacyHead.Medicines.Count() > 0)
     76                    if (!pharmacyHead.Medicines.Equals(PHMedicines))
    8077                    {
    81                         phead.Medicines = null;
    82                         int PHMId = phead.Medicines.Select(x => x.Id).Single();
    83                         int phId = phead.Medicines.Select(x => x.PheadId).Single();
    84                         int medId = phead.Medicines.Select(x => x.MedicineId).Single();
    85                         _iPHRepo.DeletePHMedicine(PHMId, phId, medId);
    86                         return;
     78                        //phead.Medicines = pharmacyHead.Medicines;
     79                        if (pharmacyHead.Medicines.Count() == 0)
     80                        {
     81                            phead.Medicines = null;
     82                            int PHMId = phead.Medicines.Select(x => x.Id).Single();
     83                            int phId = phead.Medicines.Select(x => x.PheadId).Single();
     84                            int medId = phead.Medicines.Select(x => x.MedicineId).Single();
     85                            _iPHRepo.DeletePHMedicine(PHMId, phId, medId);
     86                            return;
     87                        }
     88                        foreach (var med in pharmacyHead.Medicines)
     89                        {
     90
     91                            PharmacyHeadMedicine PHMObj = phead.Medicines.Select(x => new PharmacyHeadMedicine
     92                            {
     93                                Id = x.Id,
     94                                PheadId = x.PheadId,
     95                                Head = x.Head,
     96                                MedicineId = x.MedicineId,
     97                                Medicine = x.Medicine
     98                            }).Where(x => !x.Medicine.Equals(med)).Single();
     99                            if (PHMObj == null || PHMObj == default)
     100                                break;
     101                            if (PHMObj.MedicineId == med.Id)
     102                                list.Add(PHMObj);
     103
     104                        }
     105
     106                        phead.Medicines = list;
     107
     108                        await _iPHRepo.UpdatePharmacyHead(phead);
     109
    87110                    }
    88                     foreach (var med in pharmacyHead.Medicines)
    89                     {
    90 
    91                         PharmacyHeadMedicine PHMObj = phead.Medicines.Select(x => new PharmacyHeadMedicine
    92                         {
    93                             Id = x.Id,
    94                             PheadId = x.PheadId,
    95                             Head = x.Head,
    96                             MedicineId = x.MedicineId,
    97                             Medicine = x.Medicine
    98                         }).Where(x => !x.Medicine.Equals(med)).Single();
    99                         if (PHMObj == null || PHMObj == default)
    100                             break;
    101                         if (PHMObj.MedicineId == med.Id)
    102                             list.Add(PHMObj);
    103 
    104                     }
    105 
    106                     phead.Medicines = list;
    107 
    108                     await _iPHRepo.UpdatePharmacyHead(phead);
     111               
     112                if (pharmacyHead.Pharmacies != null || pharmacyHead.Pharmacies.Count() > 0)
     113                {
     114                    phead.Pharmacies = pharmacyHead.Pharmacies;
    109115                }
    110116                PharmacyHead head = new PharmacyHead()
     
    112118                    Name = pharmacyHead.Name,
    113119                    Email = pharmacyHead.Email,
    114                     Password = pharmacyHead.Password,
    115                     Pharmacies = pharmacyHead.Pharmacies,
    116                     Medicines = list
     120                    Password = pharmacyHead.Password
    117121                };
    118122                if (!phead.Equals(head))
  • FarmatikoServices/Services/Service.cs

    rac51326 r0a694bb  
    4848            List<MedicineDTO> list = new List<MedicineDTO>();
    4949            var listPHMedicines = await _repository.GetAllPHMedicines();
    50             foreach(var med in Medicines)
    51             {
    52                 var heads = listPHMedicines.Where(x => x.MedicineId == med.Id).Select(x => x.Head).ToList();
    53                 List<string> headNames = new List<string>();
     50            List<string> headNames = new List<string>();
     51            List<PharmacyHead> heads = new List<PharmacyHead>();
     52            foreach (var med in Medicines)
     53            {
     54                var meds = listPHMedicines.Where(x => x.MedicineId == med.Id).ToList();
     55                if (meds != null)
     56                {
     57                    heads = meds.Select(x => x.Head).ToList();
     58                }
    5459                headNames = heads.Select(x => x.Name).ToList();
    5560                MedicineDTO medicine = new MedicineDTO()
     
    8994                    Location = pharm.Location,
    9095                    Address = pharm.Address,
    91                     WorkAllTime = pharm.WorkAllTime,
    92                     HeadName = pharm.PharmacyHead.Name?? ""
     96                    WorkAllTime = pharm.WorkAllTime
    9397                };
     98                if (pharm.PharmacyHead != null)
     99                {
     100                    pharmacyDTO.HeadName = pharm.PharmacyHead.Name;
     101                }
     102
    94103                pharmacies.Add(pharmacyDTO);
    95104            }
     
    165174
    166175        // Ovaa kontrola ja ima samo admin
    167         public User MakeUser(PharmacyHead head)
    168         {
    169            
    170            
     176        public async Task<User> MakeUser(PharmacyHead head)
     177        {
    171178            User user = new User()
    172179            {
     
    176183                UserRole = User.Role.PharmacyHead
    177184            };
     185            bool Success = await _repository.AddUser(user);
     186            if (!Success)
     187                return null;
    178188            return user;
    179189        }
    180         public async Task AddPharmacyHead(PharmacyHead pharmacyHead)
     190        public async Task<bool> AddPharmacyHead(PharmacyHeadDto pharmacyHead)
    181191        {
    182192            if (pharmacyHead != null)
    183193            {
    184                 var user = MakeUser(pharmacyHead);
    185                 await _repository.AddUser(user);               
    186                 await _repository.AddPharmacyHead(pharmacyHead);
     194                var phead = new PharmacyHead()
     195                {
     196                    Name = pharmacyHead.Name,
     197                    Email = pharmacyHead.Email,
     198                    Password = pharmacyHead.Password
     199                };
     200                var user = await MakeUser(phead);
     201                if (user is null)
     202                {
     203                    return false;
     204                }
     205                var users = _repository.GetUsers();
     206                var thisUser = users.Where(usr => usr.Value.Email.Equals(user.Email)).Select(x => x.Value).FirstOrDefault();
     207                User user1 = new User()
     208                {
     209                    Name = thisUser.Name,
     210                    Password = thisUser.Password,
     211                    Email = thisUser.Email,
     212                    UserRole = thisUser.UserRole
     213                };
     214                phead.User = user1;
     215                await _repository.AddPharmacyHead(phead);
     216                return true;
    187217            }
    188             else throw new Exception("PharmacyHead is null");
     218            else throw new Exception("PharmacyHeadDto is null");
    189219        }
    190220        //za json(Sys updater)
Note: See TracChangeset for help on using the changeset viewer.