Exemplo n.º 1
0
        public async Task Remove(PharmacyHead phead)
        {
            var Phead = await _context.PharmacyHeads.Where(x => x.Id == phead.Id).FirstOrDefaultAsync();

            Phead.DeletedOn = phead.DeletedOn;
            await _context.SaveChangesAsync();
        }
Exemplo n.º 2
0
        public async Task <int> Login(PharmacyHead pharmacyHead)
        {
            var PHead = await _iPHRepo.GetPharmacyHeadByIdAsync(pharmacyHead.Id);

            if (PHead.Password.Equals(pharmacyHead.Password))
            {
                return(PHead.Id);
            }
            return(-1);
        }
Exemplo n.º 3
0
        public async Task <bool> Remove(int id)
        {
            PharmacyHead Phead = await _iPHRepo.GetPharmacyHeadByIdAsync(id);

            if (Phead != null && id >= 0)
            {
                Phead.DeletedOn = DateTime.UtcNow;
                await _iPHRepo.Remove(Phead);

                return(true);
            }
            return(false);
        }
Exemplo n.º 4
0
        public async Task <PharmacyHead> GetPharmacyHeadByIdAsync(int id)
        {
            PharmacyHead Phead = null;

            if (id >= 0)
            {
                Phead = await _iPHRepo.GetPharmacyHeadByIdAsync(id);
            }
            if (Phead != null)
            {
                return(Phead);
            }
            throw new Exception("No data found.");
        }
Exemplo n.º 5
0
        public async Task <bool> Add(PharmacyHeadDto pharmacyHead)
        {
            if (pharmacyHead != null)
            {
                PharmacyHead head = new PharmacyHead()
                {
                    Name       = pharmacyHead.Name,
                    Email      = pharmacyHead.Email,
                    Password   = pharmacyHead.Password,
                    Pharmacies = null,
                    Medicines  = null
                };
                await _iPHRepo.Add(head);

                return(true);
            }
            return(false);
        }
Exemplo n.º 6
0
        public async Task AddPharmacyHead(PharmacyHead pharmacyHead)
        {
            pharmacyHead.Id = 0;
            if (pharmacyHead.Id == 0)
            {
                var pheads = await _context.PharmacyHeads.Select(x => new PharmacyHead
                {
                    Name  = x.Name,
                    Email = x.Email
                }).ToListAsync();

                var pheadusr = pheads.Where(x => x.Email.Equals(pharmacyHead.Email)).ToList();
                if (pheadusr == null || pheadusr.Count() == 0)
                {
                    await _context.PharmacyHeads.AddAsync(pharmacyHead);

                    await _context.SaveChangesAsync();
                }
            }
        }
Exemplo n.º 7
0
        // Ovaa kontrola ja ima samo admin

        public async Task <bool> AddPharmacyHead(PharmacyHeadDto pharmacyHead)
        {
            if (pharmacyHead != null)
            {
                var phead = new PharmacyHead()
                {
                    Name     = pharmacyHead.Name,
                    Email    = pharmacyHead.Email,
                    Password = pharmacyHead.Password
                };
                User user = new User()
                {
                    Name     = phead.Name,
                    Password = phead.Password,
                    Email    = phead.Email,
                    UserRole = User.Role.PharmacyHead
                };
                if (user is null)
                {
                    return(false);
                }
                User user1 = new User()
                {
                    Name     = user.Name,
                    Password = user.Password,
                    Email    = user.Email,
                    UserRole = user.UserRole
                };
                phead.User = user1;
                await _repository.AddPharmacyHead(phead);

                return(true);
            }
            else
            {
                throw new Exception("PharmacyHeadDto is null");
            }
        }
Exemplo n.º 8
0
        //POST
        public async Task UpdatePharmacyHead(PharmacyHead pharmacyHead)
        {
            var user = await _context.Users.Where(x => x.Email == pharmacyHead.Email).FirstOrDefaultAsync();

            var EditedPHead = await _context.PharmacyHeads.Where(x => x.Email.Equals(pharmacyHead.Email)).FirstOrDefaultAsync();

            /*if (!EditedPHead.Email.Equals(pharmacyHead.Email) && !user.Email.Equals(pharmacyHead.Email))
             * {
             *  EditedPHead.Email = pharmacyHead.Email;
             *  user.Email = pharmacyHead.Email;
             * }*/

            if (!EditedPHead.Name.Equals(pharmacyHead.Name) || !user.Name.Equals(pharmacyHead.Name))
            {
                EditedPHead.Name = pharmacyHead.Name;
                user.Name        = pharmacyHead.Name;
            }

            if (!EditedPHead.Password.Equals(pharmacyHead.Password) || !user.Password.Equals(pharmacyHead.Password))
            {
                EditedPHead.Password = pharmacyHead.Password;
                user.Password        = pharmacyHead.Password;
            }
            foreach (var pharmacy in pharmacyHead.Pharmacies)
            {
                if (!EditedPHead.Pharmacies.Contains(pharmacy))
                {
                    pharmacy.PheadId      = EditedPHead.Id;
                    pharmacy.PharmacyHead = EditedPHead;
                    EditedPHead.Pharmacies.Add(pharmacy);
                }
            }
            _context.Entry(EditedPHead).State = EntityState.Modified;

            _context.SaveChanges();
        }
Exemplo n.º 9
0
        public async Task UpdatePharmacyHead(PharmacyHeadDto pharmacyHead)
        {
            if (pharmacyHead != null)
            {
                var phead = _iPHRepo.GetPharmacyHead(pharmacyHead.Email);

                phead.Medicines = _repository.GetPHMedicines(phead.Email).ToList();

                var phmeds = await _repository.GetAllPHMedicines();

                List <Medicine> medicines = _repository.GetMedicines().ToList();

                List <Medicine> PHMedicines = new List <Medicine>();

                List <PharmacyHeadMedicine> list = new List <PharmacyHeadMedicine>();


                if (pharmacyHead.Medicines != null && pharmacyHead.Medicines.Count() > 0)
                {
                    foreach (var med in phead.Medicines)
                    {
                        var medicine = medicines.Where(x => x.Id == med.MedicineId).FirstOrDefault();
                        if (medicine != null)
                        {
                            PHMedicines.Add(medicine);
                        }
                    }
                    foreach (var phMed in PHMedicines)
                    {
                        if (!pharmacyHead.Medicines.Contains(phMed))
                        {
                            /*
                             * USELESS
                             * if (pharmacyHead.Medicines.Count() == 0)
                             * {
                             *  phead.Medicines = null;
                             *  int PHMId = phead.Medicines.Select(x => x.Id).Single();
                             *  int phId = phead.Medicines.Select(x => x.PheadId).Single();
                             *  int medId = phead.Medicines.Select(x => x.MedicineId).Single();
                             *  _iPHRepo.DeletePHMedicine(PHMId, phId, medId);
                             *  return;
                             * }*/
                            if (phead.Medicines != null && phead.Medicines.Count() > 0)
                            {
                                foreach (var med in pharmacyHead.Medicines)
                                {
                                    Medicine medicine = new Medicine()
                                    {
                                        Name         = med.Name,
                                        Form         = med.Form,
                                        Manufacturer = med.Manufacturer,
                                        Medicines    = med.Medicines,
                                        Packaging    = med.Packaging,
                                        Price        = med.Price,
                                        Strength     = med.Strength,
                                        WayOfIssuing = med.WayOfIssuing
                                    };

                                    PharmacyHeadMedicine phm = new PharmacyHeadMedicine()
                                    {
                                        PheadId    = phead.Id,
                                        Head       = phead,
                                        MedicineId = med.Id,
                                        Medicine   = medicine
                                    };

                                    bool ifExists = phead.Medicines.Contains(phm);
                                    if (!ifExists)
                                    {
                                        list.Add(phm);
                                    }
                                }
                            }
                            else
                            {
                                foreach (var med in pharmacyHead.Medicines)
                                {
                                    PharmacyHead head1 = new PharmacyHead()
                                    {
                                        Id       = pharmacyHead.Id,
                                        Name     = pharmacyHead.Name,
                                        Email    = pharmacyHead.Email,
                                        Password = pharmacyHead.Password
                                    };
                                    PharmacyHeadMedicine phmed = new PharmacyHeadMedicine()
                                    {
                                        Head     = head1,
                                        Medicine = med
                                    };
                                    list.Add(phmed);
                                }
                            }


                            phead.Medicines = list;

                            await _iPHRepo.UpdatePharmacyHead(phead);
                        }
                    }
                }
                PharmacyHead head = new PharmacyHead()
                {
                    Name       = pharmacyHead.Name,
                    Email      = pharmacyHead.Email,
                    Password   = pharmacyHead.Password,
                    Medicines  = phead.Medicines,
                    Pharmacies = phead.Pharmacies
                };
                if (!phead.Name.Equals(head.Name) && !phead.Password.Equals(head.Email))
                {
                    await _iPHRepo.UpdatePharmacyHead(head);
                }
                List <Pharmacy> pharmacies = new List <Pharmacy>();
                pharmacies = phead.Pharmacies;
                if (head.Pharmacies != null && pharmacyHead.Pharmacies != null)
                {
                    if (head.Pharmacies.Count() > 0 && pharmacyHead.Pharmacies.Count() > 0)
                    {
                        foreach (var pharmacy in pharmacyHead.Pharmacies)
                        {
                            if (!head.Pharmacies.Contains(pharmacy))
                            {
                                pharmacy.PheadId      = phead.Id;
                                pharmacy.PharmacyHead = phead;
                                pharmacies.Add(pharmacy);
                            }
                        }
                        head.Pharmacies = pharmacies;
                        await _iPHRepo.UpdatePharmacyHead(head);
                    }
                }
            }
            else
            {
                throw new Exception("Cannot update pharmacy head since there was no changes.");
            }
        }
Exemplo n.º 10
0
        public async Task Add(PharmacyHead pharmacyHead)
        {
            await _context.PharmacyHeads.AddAsync(pharmacyHead);

            await _context.SaveChangesAsync();
        }