コード例 #1
0
        public Response <string> Approve(int Id)
        {
            try
            {
                using (VDEntities entities = new VDEntities())
                {
                    var dbDoctor = entities.Doctors.Where(c => c.ID == Id).FirstOrDefault();
                    dbDoctor.IsApproved = true;
                    dbDoctor.ValidUpto  = DateTime.UtcNow.AddHours(5).AddMonths(3);
                    entities.SaveChanges();

                    var vaccines = entities.Vaccines.ToList();
                    foreach (var vaccine in vaccines)
                    {
                        // add default brands amount and inventory count of doctor
                        var brands = vaccine.Brands;
                        foreach (var brand in brands)
                        {
                            BrandAmount ba = new BrandAmount();
                            ba.Amount   = 0;
                            ba.DoctorID = dbDoctor.ID;
                            ba.BrandID  = brand.ID;
                            entities.BrandAmounts.Add(ba);

                            BrandInventory bi = new BrandInventory();
                            bi.Count    = 0;
                            bi.DoctorID = dbDoctor.ID;
                            bi.BrandID  = brand.ID;
                            entities.BrandInventories.Add(bi);
                            entities.SaveChanges();
                        }
                    }

                    return(new Response <string>(true, null, "approved"));
                }
            }
            catch (Exception e)
            {
                return(new Response <string>(false, GetMessageFromExceptionObject(e), null));
            }
        }
コード例 #2
0
 public Response <IEnumerable <BrandAmountDTO> > Post(IEnumerable <BrandAmountDTO> brandAmountDTOs)
 {
     try
     {
         using (VDEntities entities = new VDEntities())
         {
             foreach (var brandAmountDTO in brandAmountDTOs)
             {
                 BrandAmount brandAmountDB = Mapper.Map <BrandAmount>(brandAmountDTO);
                 entities.BrandAmounts.Add(brandAmountDB);
                 entities.SaveChanges();
                 brandAmountDTO.ID = brandAmountDB.ID;
             }
             return(new Response <IEnumerable <BrandAmountDTO> >(true, null, brandAmountDTOs));
         }
     }
     catch (Exception e)
     {
         return(new Response <IEnumerable <BrandAmountDTO> >(false, GetMessageFromExceptionObject(e), null));
     }
 }
コード例 #3
0
        public Response <DoctorScheduleDTO> UpdateDoctorSchedule()
        {
            try
            {
                using (VDEntities db = new VDEntities())
                {
                    // 1- get all vaccines
                    var dbDoses   = db.Doses.ToList();
                    var dbDoctors = db.Doctors.ToList <Doctor>();
                    foreach (var dbDoctor in dbDoctors)
                    {
                        var listOfIds = dbDoctor.DoctorSchedules.Select(x => x.DoseID);
                        var newDoses  = db.Doses.Where(x => !listOfIds.Contains(x.ID)).ToList();
                        foreach (Dose newDose in newDoses)
                        {
                            dbDoctor.DoctorSchedules.Add(new DoctorSchedule()
                            {
                                DoctorID  = dbDoctor.ID,
                                DoseID    = newDose.ID,
                                GapInDays = newDose.MinAge
                            });

                            //////////////////////////////////////////////////
                            //// Add data in BrandInventory when
                            //// new Vaccines/Doses/Brands are added by admin
                            //// and then admin press UpdateDoctorSchedule
                            var brands = newDose.Vaccine.Brands;
                            foreach (var brand in brands)
                            {
                                BrandInventory existingBrandInventory = db.BrandInventories.Where(x => x.BrandID == brand.ID && x.DoctorID == dbDoctor.ID).FirstOrDefault <BrandInventory>();
                                if (existingBrandInventory == null)
                                {
                                    db.BrandInventories.Add(new BrandInventory()
                                    {
                                        Count    = 0,
                                        DoctorID = dbDoctor.ID,
                                        BrandID  = brand.ID
                                    });
                                    db.SaveChanges();
                                }

                                BrandAmount existingBrandAmount = db.BrandAmounts.Where(x => x.BrandID == brand.ID && x.DoctorID == dbDoctor.ID).FirstOrDefault <BrandAmount>();
                                if (existingBrandAmount == null)
                                {
                                    db.BrandAmounts.Add(new BrandAmount()
                                    {
                                        Amount   = 0,
                                        DoctorID = dbDoctor.ID,
                                        BrandID  = brand.ID
                                    });
                                    db.SaveChanges();
                                }
                            }
                            //////////////////////////////////////////////////



                            db.SaveChanges();
                        }
                    }
                    return(new Response <DoctorScheduleDTO>(true, null, null));
                }
            }
            catch (Exception e)
            {
                return(new Response <DoctorScheduleDTO>(false, GetMessageFromExceptionObject(e), null));
            }
        }