コード例 #1
0
        public ActionResult View_Order_Details()
        {
            int memid = Convert.ToInt32(Session["Memberid"]);

            using (KIITEntities db = new KIITEntities())
            {
                int sid = db.Suppliers.Where(a => a.MemberId == memid).Select(a => a.SupplierId).SingleOrDefault();

                var data = from pod in db.PatientOrderDetails
                           join dd in db.DrugDeliveries on pod.OrderId equals dd.OrderId
                           where dd.SupplierId == sid
                           select new { pod.DrugId, pod.Quantity, pod.OrderedDate, dd.OrderId, pod.OrderStatus, pod.OrderNumber, dd.DeliveredDate, pod.PatientId };

                List <DrugViewModel> lst = new List <DrugViewModel>();
                foreach (var item in data)
                {
                    string pat_name  = db.Patients.Where(a => a.PatientId == item.PatientId).Select(a => a.FirstName).FirstOrDefault();
                    string drug_name = db.Drugs.Where(a => a.DrugId == item.DrugId).Select(a => a.DrugName).SingleOrDefault();
                    lst.Add(new DrugViewModel
                    {
                        OrderNumber  = item.OrderNumber,
                        PatientName  = pat_name,
                        DeliveryDate = Convert.ToDateTime(item.DeliveredDate),
                        DrugName     = drug_name,
                        Quantity     = item.Quantity,
                        OrderDate    = item.OrderedDate,
                        OrderId      = item.OrderId,
                        OrderStatus  = item.OrderStatus
                    });
                }
                DrugViewModel model = new DrugViewModel();
                model.lstData = lst;
                return(View(model));
            }
        }
コード例 #2
0
        public ActionResult PostAddDrugsAdmin(DrugViewModel model)
        {
            using (ProjectEntities1 db = new ProjectEntities1())
            {
                /* if (ModelState.IsValid)
                 * {*/

                if (!ModelState.IsValid)
                {
                    return(View("AddDrugsAdmin"));
                }

                Boolean isdeleted = false;
                var     getdata   = db.Drugs.FirstOrDefault(a => a.DrugId == model.DrugId);
                if (getdata != null)
                {
                    db.UpadateDrug(model.DrugId, model.DrugName, model.ManufactureDate, model.ExpiredDate, model.UsedFor,
                                   model.SideEffects, model.TotalQuantityAvailable, isdeleted);
                    ViewBag.Message = "Updated";
                }
                else
                {
                    db.InsertDrug(model.DrugName, model.ManufactureDate, model.ExpiredDate, model.UsedFor,
                                  model.SideEffects, model.TotalQuantityAvailable, isdeleted);
                    ViewBag.Message = "Inserted";
                }
                return(View("AddDrugsAdmin"));
            }

            /*  else
             * {
             *    return View("AddDrugsAdmin");
             * }*/
        }
コード例 #3
0
        public ActionResult View_Order_Details()
        {
            int memid = Convert.ToInt32(Session["Memberid"]);

            using (KIITEntities db = new KIITEntities())
            {
                var data = db.PatientOrderDetails.Select(a => new { a.DrugId, a.OrderNumber, a.Quantity, a.OrderedDate, a.OrderStatus });
                List <DrugViewModel> lst = new List <DrugViewModel>();
                foreach (var item in data)
                {
                    string drug_name = db.Drugs.Where(a => a.DrugId == item.DrugId).Select(a => a.DrugName).SingleOrDefault();
                    lst.Add(new DrugViewModel
                    {
                        OrderNumber = item.OrderNumber,
                        DrugName    = drug_name,
                        Quantity    = item.Quantity,
                        OrderDate   = item.OrderedDate,
                        OrderStatus = item.OrderStatus
                    });
                }
                DrugViewModel model = new DrugViewModel();
                model.lstData = lst;
                return(View(model));
            }
        }
コード例 #4
0
        public ActionResult ViewDrugsAdmin()
        {
            DrugViewModel        dm  = new DrugViewModel();
            List <DrugViewModel> lst = new List <DrugViewModel>();

            using (ProjectEntities1 db = new ProjectEntities1())
            {
                var getdata = db.Drugs.ToList().Where(a => a.IsDeleted == false);


                foreach (var item in getdata)
                {
                    lst.Add(new DrugViewModel
                    {
                        DrugId          = item.DrugId,
                        DrugName        = item.DrugName,
                        ManufactureDate = Convert.ToDateTime(item.ManufactureDate),
                        ExpiredDate     = Convert.ToDateTime(item.ExpiredDate),
                        UsedFor         = item.UsedFor,

                        SideEffects            = item.SideEffects,
                        TotalQuantityAvailable = item.TotalQuantityAvailable,
                        IsDeleted = item.IsDeleted
                    });
                }

                dm.lstDrug = lst;
                return(View(dm));
            }
        }
 private void buttonSave_Click(object sender, EventArgs e)
 {
     if (string.IsNullOrEmpty(textBoxCount.Text))
     {
         MessageBox.Show("Введите количество", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
         return;
     }
     if (comboBoxDrug.SelectedValue == null)
     {
         MessageBox.Show("Выберите медикамент для заявки", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
         return;
     }
     try
     {
         DrugViewModel product = serviceDrug.GetElement(Convert.ToInt32(comboBoxDrug.SelectedValue));
         requestProduct = new RequestDrugViewModel
         {
             DrugId   = product.Id,
             DrugName = product.DrugName,
             Price    = product.Price,
             Count    = Convert.ToInt32(textBoxCount.Text)
         };
         MessageBox.Show("Медикамент добавлен в заявку", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information);
         DialogResult = DialogResult.OK;
         Close();
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
コード例 #6
0
        public ActionResult Raise_Drug_Request()
        {
            DrugViewModel model = new DrugViewModel();

            model.lstDrugs = CommonData.GetDrugs();
            return(View(model));
        }
コード例 #7
0
        public IActionResult GetEdit(DrugViewModel model)
        {
            var response = ResponseModelFactory.CreateInstance;

            if (ConfigurationManager.AppSettings.IsTrialVersion)
            {
                response.SetIsTrial();
                return(Ok(response));
            }
            using (_dbContext)
            {
                var entity = _dbContext.Drug.FirstOrDefault(x => x.DrugUuid == model.DrugUuid);
                entity.Name              = model.Name;
                entity.Phone             = model.Phone;
                entity.IdCard            = model.IdCard;
                entity.OwningGrid        = model.OwningGrid;
                entity.Sex               = model.Sex;
                entity.DateBirth         = model.DateBirth;
                entity.SourceDrugs       = model.SourceDrugs;
                entity.Detoxification    = model.Detoxification;
                entity.Attention         = model.Attention;
                entity.ResidenceAddress  = model.ResidenceAddress;
                entity.RegisteredAddress = model.RegisteredAddress;
                entity.PoliceStation     = model.PoliceStation;
                entity.HousesNumber      = model.HousesNumber;
                entity.CurrentAddress    = model.CurrentAddress;
                entity.RoomReason        = model.RoomReason;
                entity.OtherAddress      = model.OtherAddress;
                entity.FormerName        = model.FormerName;
                entity.Employer          = model.Employer;
                entity.ContactPhone      = model.ContactPhone;
                entity.Email             = model.Email;
                entity.Nation            = model.Nation;
                entity.PoliticalStatus   = model.PoliticalStatus;
                entity.Education         = model.Education;
                entity.Occupation        = model.Occupation;
                entity.MaritalStatus     = model.MaritalStatus;
                entity.BloodType         = model.BloodType;
                entity.Religious         = model.Religious;
                entity.Height            = model.Height;
                entity.DrugStatus        = model.DrugStatus;
                entity.Species           = model.Species;
                entity.ControlStatus     = model.ControlStatus;
                entity.Detoxificationes  = model.Detoxificationes;
                entity.Seizeddate        = model.Seizeddate;
                entity.FirstTime         = model.FirstTime;
                entity.Waiter            = model.Waiter;
                entity.ServiceHours      = model.ServiceHours;
                entity.Remarks           = model.Remarks;
                int res = _dbContext.SaveChanges();
                if (res > 0)
                {
                    ToLog.AddLog("编辑", "成功:编辑:吸毒人员信息一条数据", _dbContext);
                }
                response.SetSuccess("修改成功");
                return(Ok(response));
            }
        }
コード例 #8
0
        public IActionResult GetCreate(DrugViewModel model)
        {
            var response = ResponseModelFactory.CreateInstance;

            using (_dbContext)
            {
                var entity = new HaikanSmartTownCockpit.Api.Entities.Drug();
                entity.DrugUuid          = Guid.NewGuid();
                entity.Name              = model.Name;
                entity.Phone             = model.Phone;
                entity.IdCard            = model.IdCard;
                entity.OwningGrid        = model.OwningGrid;
                entity.Sex               = model.Sex;
                entity.DateBirth         = model.DateBirth;
                entity.SourceDrugs       = model.SourceDrugs;
                entity.Detoxification    = model.Detoxification;
                entity.Attention         = model.Attention;
                entity.ResidenceAddress  = model.ResidenceAddress;
                entity.RegisteredAddress = model.RegisteredAddress;
                entity.PoliceStation     = model.PoliceStation;
                entity.HousesNumber      = model.HousesNumber;
                entity.CurrentAddress    = model.CurrentAddress;
                entity.RoomReason        = model.RoomReason;
                entity.OtherAddress      = model.OtherAddress;
                entity.FormerName        = model.FormerName;
                entity.Employer          = model.Employer;
                entity.ContactPhone      = model.ContactPhone;
                entity.Email             = model.Email;
                entity.Nation            = model.Nation;
                entity.PoliticalStatus   = model.PoliticalStatus;
                entity.Education         = model.Education;
                entity.Occupation        = model.Occupation;
                entity.MaritalStatus     = model.MaritalStatus;
                entity.BloodType         = model.BloodType;
                entity.Religious         = model.Religious;
                entity.Height            = model.Height;
                entity.DrugStatus        = model.DrugStatus;
                entity.Species           = model.Species;
                entity.ControlStatus     = model.ControlStatus;
                entity.Detoxificationes  = model.Detoxificationes;
                entity.Seizeddate        = model.Seizeddate;
                entity.FirstTime         = model.FirstTime;
                entity.Waiter            = model.Waiter;
                entity.ServiceHours      = model.ServiceHours;
                entity.Remarks           = model.Remarks;
                entity.IsDeleted         = 0;
                _dbContext.Drug.Add(entity);
                int res = _dbContext.SaveChanges();
                if (res > 0)
                {
                    ToLog.AddLog("添加", "成功:添加:吸毒人员信息一条数据", _dbContext);
                }
                response.SetSuccess("添加成功");
                return(Ok(response));
            }
        }
コード例 #9
0
        private DrugViewModel ConvertDrugToDrugViewModel(Drug drug)
        {
            DrugViewModel drugViewModel = new DrugViewModel()
            {
                DrugId   = drug.DrugId,
                DrugName = drug.DrugName
            };

            return(drugViewModel);
        }
コード例 #10
0
        public async Task <DrugDto> Edit(int id, DrugViewModel model, string requestAuthor)
        {
            var entity = Mapper.Map <Drug>(model);

            entity.Id = id;

            Context.Entry(entity).State = EntityState.Modified;
            await Context.SaveChangesAsyncWithAudit(requestAuthor);

            return(Mapper.Map <DrugDto>(entity));
        }
コード例 #11
0
 public ActionResult Edit(DrugViewModel model)
 {
     if (ModelState.IsValid)
     {
         _drugService.CreateOrUpdate(model);
         if (ModelState.IsValid)
         {
             EditSuccessfully();
         }
     }
     return(View(model));
 }
コード例 #12
0
 public ActionResult AddDrug(DrugViewModel drugViewModel)
 {
     if (ModelState.IsValid)
     {
         _drugProvider.AddDrug(drugViewModel.DrugName);
         return(Redirect("~/Drug/DrugsList"));
     }
     else
     {
         return(View(drugViewModel));
     }
 }
コード例 #13
0
        public async Task <DrugDto> Add(DrugViewModel model, string requestAuthor)
        {
            var entity = Mapper.Map <Drug>(model);

            entity.CreatedBy = requestAuthor;

            var result = await Context.AddAsync(entity);

            await Context.SaveChangesAsyncWithAudit(entity.CreatedBy);

            return(Mapper.Map <DrugDto>(result.Entity));
        }
コード例 #14
0
 public ActionResult UpdateDrug(DrugViewModel drugViewModel)
 {
     if (ModelState.IsValid)
     {
         _drugProvider.UpdateDrug(drugViewModel.DrugId, drugViewModel.DrugName);
         return(Redirect("~/Drug/DrugsList"));
     }
     else
     {
         return(View("GetDrug", drugViewModel));
     }
 }
コード例 #15
0
 public ActionResult UpdateStatus(DrugViewModel drug)
 {
     using (KIITEntities db = new KIITEntities())
     {
         db.UpdateOrderStatus(drug.OrderStatus, drug.OrderId);
         if (drug.OrderStatus == "Delivered")
         {
             int did = db.DrugDeliveries.Where(a => a.OrderId == drug.OrderId).Select(a => a.DeliveryId).SingleOrDefault();
             db.UpdateDeliveryDate(did, DateTime.Now);
         }
     }
     return(Json(drug));
 }
コード例 #16
0
        public ActionResult DeleteDrug(int id)
        {
            DrugViewModel model = new DrugViewModel();

            using (ProjectEntities1 db = new ProjectEntities1())
            {
                var getdata = db.Drugs.FirstOrDefault(a => a.DrugId == id);
                if (getdata != null)
                {
                    db.Updateisdelete(id, true);
                }
            }
            return(RedirectToAction("ViewDrugsAdmin"));
        }
コード例 #17
0
        public async Task <IActionResult> Edit(int?id)
        {
            if (id != null)
            {
                Drug drug = await db.Drugs.FirstOrDefaultAsync(p => p.Id == id);

                if (drug != null)
                {
                    SelectList companies = new SelectList(db.Companies, "Id", "Name");
                    ViewBag.Companies = companies;
                    DrugViewModel drugView = _mapper.Map <Drug, DrugViewModel>(drug);
                    return(View(drugView));
                }
            }
            return(NotFound());
        }
コード例 #18
0
        public async Task <IActionResult> ConfirmDelete(int?id)
        {
            if (id != null)
            {
                Drug drug = await db.Drugs.FirstOrDefaultAsync(p => p.Id == id);

                if (drug != null)
                {
                    drug.Company = await db.Companies.FirstOrDefaultAsync(c => c.Id == drug.CompanyId);

                    DrugViewModel drugView = _mapper.Map <Drug, DrugViewModel>(drug);
                    return(View(drugView));
                }
            }
            return(NotFound());
        }
コード例 #19
0
 public ActionResult Edit(Guid?id)
 {
     if (id.HasValue)
     {
         var drug = _drugService.Read(a => a.GID == id.Value);
         if (drug == null)
         {
             return(RedirectToAction("Index"));
         }
         var cost = _drugCostService.GetByDrugID(id.Value);
         return(View(DrugViewModel.Load(drug, cost)));
     }
     else
     {
         return(View(new DrugViewModel()));
     }
 }
コード例 #20
0
        public ActionResult InsertSupplier(DrugViewModel drug)
        {
            using (KIITEntities entities = new KIITEntities())
            {
                var quan = (from d in entities.Drugs where d.DrugId == drug.DrugId select d.TotalQuantityAvailable).FirstOrDefault();
                if (drug.Quantity < quan)
                {
                    entities.InsertDelivery(drug.OrderId, drug.SupplierId);
                    entities.UpdateDQuan(quan - drug.Quantity, drug.DrugId);
                }
                else
                {
                    throw new Exception("abc");
                }
            }

            return(Json(drug));
        }
コード例 #21
0
 public async Task <IActionResult> Create(DrugViewModel drugView, IFormFile file)
 {
     if (file != null)
     {
         // путь к папке Files
         string path = "/Files/" + file.FileName;
         // сохраняем файл в папку Files в каталоге wwwroot
         using (var fileStream = new FileStream(_appEnvironment.WebRootPath + path, FileMode.Create))
         {
             await file.CopyToAsync(fileStream);
         }
         Drug drug = _mapper.Map <DrugViewModel, Drug>(drugView);
         drug.Path = path;
         db.Drugs.Add(drug);
         await db.SaveChangesAsync();
     }
     return(RedirectToAction("Index"));
 }
コード例 #22
0
        public ActionResult Raise_Drug_Request(DrugViewModel model)
        {
            int           memid      = Convert.ToInt32(Session["Memberid"]);
            DrugViewModel model_post = new DrugViewModel();

            model_post.lstDrugs = CommonData.GetDrugs();
            int    day   = DateTime.Now.Day;
            int    hrs   = DateTime.Now.Hour;
            int    min   = DateTime.Now.Minute;
            int    sec   = DateTime.Now.Second;
            string odrno = string.Format("{0}{1}{2}{3}", day, hrs, min, sec);

            using (KIITEntities db = new KIITEntities())
            {
                int p_id = db.Patients.Where(a => a.MemberId == memid).Select(a => a.PatientId).SingleOrDefault();
                db.OrderDrug(p_id, model.DrugId, Convert.ToInt32(odrno), model.Quantity, DateTime.Now);
            }
            return(View(model_post));
        }
コード例 #23
0
 private void FormDrug_Load(object sender, EventArgs e)
 {
     if (id.HasValue)
     {
         try
         {
             DrugViewModel view = service.GetElement(id.Value);
             if (view != null)
             {
                 textBoxName.Text  = view.DrugName;
                 textBoxPrice.Text = view.Price.ToString();
                 textBoxCount.Text = view.Count.ToString();
             }
         }
         catch (Exception ex)
         {
             MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
     }
 }
コード例 #24
0
        public DrugViewModel Create(DrugPostModel model)
        {
            var drugModel = new DrugModel
            {
                Name = model.Name,
                MedicinalSubstance = model.MedicinalSubstance,
                FormId             = model.FormId
            };

            var createResult = _drugService.Create(drugModel);

            var result = new DrugViewModel
            {
                Id   = createResult.Id,
                Name = createResult.Name,
                MedicinalSubstance = createResult.MedicinalSubstance,
                Form = "Unknown"
            };

            return(result);
        }
コード例 #25
0
        public ActionResult View_Order_Details()
        {
            string sname;
            int    memid = Convert.ToInt32(Session["Memberid"]);

            using (KIITEntities db = new KIITEntities())
            {
                var data = db.PatientOrderDetails;
                List <DrugViewModel> lst = new List <DrugViewModel>();
                foreach (var item in data)
                {
                    string drug_Name = db.Drugs.Where(a => a.DrugId == item.DrugId).Select(a => a.DrugName).SingleOrDefault();
                    int    sid       = db.DrugDeliveries.Where(a => a.OrderId == item.OrderId).Select(a => a.SupplierId).SingleOrDefault();
                    if (sid > 0)
                    {
                        sname = db.Suppliers.Where(a => a.SupplierId == sid).Select(a => a.FirstName).SingleOrDefault();
                    }
                    else
                    {
                        sname = null;
                    }

                    lst.Add(new DrugViewModel
                    {
                        OrderId      = item.OrderId,
                        DrugId       = item.DrugId,
                        OrderNumber  = item.OrderNumber,
                        DrugName     = drug_Name,
                        Quantity     = item.Quantity,
                        OrderDate    = item.OrderedDate,
                        SupplierName = sname
                    });
                }

                DrugViewModel model = new DrugViewModel();
                model.lstShowDrugs = lst;
                model.lstSupplier  = CommonData.GetSuppliers();
                return(View(model));
            }
        }
コード例 #26
0
        public ActionResult EditDrug(int id)
        {
            DrugViewModel model = new DrugViewModel();

            using (ProjectEntities1 db = new ProjectEntities1())
            {
                var getdata = db.Drugs.FirstOrDefault(a => a.DrugId == id);
                if (getdata != null)
                {
                    model.DrugId                 = getdata.DrugId;
                    model.DrugName               = getdata.DrugName;
                    model.ManufactureDate        = getdata.ManufactureDate;
                    model.ExpiredDate            = getdata.ExpiredDate; model.UsedFor = getdata.UsedFor;
                    model.TotalQuantityAvailable = getdata.TotalQuantityAvailable;
                    model.SideEffects            = getdata.SideEffects;
                    return(View("AddDrugsAdmin", model));
                }
                else
                {
                    return(View("ViewDrugsAdmin"));
                }
            }
        }
コード例 #27
0
ファイル: PrevCommand.cs プロジェクト: SilseCode/PharmacyDB
 public PrevCommand(DrugViewModel viewModel)
 {
     _drugVM = viewModel;
 }
コード例 #28
0
        public void CreateOrUpdate(DrugViewModel viewModel)
        {
            bool isNewDrug = viewModel.GID == null;
            Drug drug      = isNewDrug
                ? new Drug {
                GID = Guid.NewGuid()
            }
                : db.Repository <Drug>().Read(a => a.GID == viewModel.GID);

            var config = new MapperConfiguration(cfg => cfg.CreateMap <DrugViewModel, Drug>());
            var mapper = config.CreateMapper();

            mapper.Map(viewModel, drug);

            if (viewModel.IsDefaultType)
            {
                drug.PatientFromType = viewModel.PatientFrom;
            }
            try
            {
                if (isNewDrug)
                {
                    db.Repository <Drug>().Create(drug);
                }

                if (viewModel.HasAppearance)
                {
                    bool           isNewAppearance = false;
                    DrugAppearance drugAppearance  = db.Repository <DrugAppearance>().Read(a => a.DrugID == drug.GID);

                    if (drugAppearance == null)
                    {
                        drugAppearance  = new DrugAppearance(drug.GID);
                        isNewAppearance = true;
                    }

                    drugAppearance.Color     = viewModel.Color;
                    drugAppearance.MajorType = viewModel.MajorType;
                    drugAppearance.Shape     = viewModel.Shape;

                    if (isNewAppearance)
                    {
                        db.Repository <DrugAppearance>().Create(drugAppearance);
                    }
                }

                bool     isNewCost = false;
                DrugCost drugCost  = db.Repository <DrugCost>().Read(a => a.DrugID == drug.GID);
                if (drugCost == null)
                {
                    drugCost  = drugCost ?? new DrugCost(drug.GID);
                    isNewCost = true;
                }
                if (viewModel.IsDefaultType)
                {
                    viewModel.Price     = 0;
                    drugCost.InitialFee = viewModel.InitialFee;
                    drugCost.DailyFee   = viewModel.DailyFee;
                }
                drugCost.Price = viewModel.Price;

                if (isNewCost)
                {
                    db.Repository <DrugCost>().Create(drugCost);
                }
                else
                {
                    db.Repository <DrugCost>().Update(drugCost);
                }

                if (viewModel.Photo != null)
                {
                    var storage = MobileHis.Misc.Storage.GetStorage(StorageScope.Drug);
                    storage.Write(drug.GID, viewModel.Photo);
                }
                db.Save();
            }catch (Exception ex)
            {
                ValidationDictionary.AddGeneralError(ex.Message);
            }
        }
コード例 #29
0
ファイル: DrugController.cs プロジェクト: mkova96/drug
        public IActionResult Create(DrugViewModel model)
        {
            ViewData["Categories"]    = _databaseContext.Disease.ToList();
            ViewData["Manufacturers"] = _databaseContext.Manufacturer.ToList();
            ViewData["SideEffects"]   = _databaseContext.SideEffect.ToList();
            ViewData["Drugs"]         = _databaseContext.Drug.ToList();
            ViewData["Packages"]      = _databaseContext.Package.Include(t => t.Measure).ToList();
            ViewData["Currencies"]    = _databaseContext.Currency.ToList();
            ViewData["Measures"]      = _databaseContext.Measure.ToList();



            if (ModelState.IsValid)
            {
                Manufacturer man;
                Manufacturer x;

                if (model.ManufacturerType == "new")
                {
                    if (model.Manufacturer.ManufacturerName == null || model.Manufacturer.About == null || model.Manufacturer.ImagePath == null)
                    {
                        TempData[Constants.Message]       = $"Sva polja za proizvođača su obavezna.\n";
                        TempData[Constants.ErrorOccurred] = true;
                        System.Diagnostics.Debug.WriteLine("fuego");
                        return(View("Add", model));
                    }

                    man = model.Manufacturer;
                    x   = _databaseContext.Manufacturer.FirstOrDefault(g => g.ManufacturerName == man.ManufacturerName);

                    if (x != null)
                    {
                        TempData[Constants.Message]       = $"Proizvođač tog imena već postoji.\n";
                        TempData[Constants.ErrorOccurred] = true;
                        return(View("Add", model));
                    }
                    _databaseContext.Manufacturer.Add(man);
                }
                else
                {
                    man = _databaseContext.Manufacturer.Find(model.ManufacturerId);
                }

                ///////////////
                Package pac;
                Package y;

                if (model.PackageType == "new")
                {
                    if (model.Package.PackageType == null || model.Package.Quantity == 0 || model.Package.IndividualSize == 0)
                    {
                        TempData[Constants.Message]       = $"Sva polja za pakiranje su obavezna te moraju biti različita od 0.\n";
                        TempData[Constants.ErrorOccurred] = true;
                        System.Diagnostics.Debug.WriteLine("fuego");
                        return(View("Add", model));
                    }

                    var m = _databaseContext.Measure.FirstOrDefault(t => t.MeasureId == model.MeasureId);
                    pac             = model.Package;
                    pac.Measure     = m;
                    pac.MeasureName = m.MeasureName;

                    y = _databaseContext.Package.FirstOrDefault(g => (g.PackageType == pac.PackageType && g.IndividualSize == pac.IndividualSize && g.Quantity == pac.Quantity && g.Measure == pac.Measure));

                    if (y != null)
                    {
                        TempData[Constants.Message]       = $"Takvo pakiranje već postoji.\n";
                        TempData[Constants.ErrorOccurred] = true;
                        return(View("Add", model));
                    }
                    _databaseContext.Package.Add(pac);
                }
                else
                {
                    pac = _databaseContext.Package.Include(t => t.Measure).FirstOrDefault(t => t.PackageId == model.PackageId);
                }
                ///////////////

                try
                {
                    if (model.SubstitutionType == "existing" && !model.DrugIds.Any())
                    {
                    }
                }
                catch (Exception exc)
                {
                    System.Diagnostics.Debug.WriteLine("konj");
                    TempData[Constants.Message]       = $"Zamjenski proizvodi su obavezni.\n";
                    TempData[Constants.ErrorOccurred] = true;
                    return(View("Add", model));
                }

                var val = _databaseContext.Currency.FirstOrDefault(m => m.CurrencyId == model.CurrencyId);
                //var pac = _databaseContext.Package.FirstOrDefault(m => m.PackageId == model.PackageId);
                var drugCategories = new List <DrugDisease>();
                var ses            = new List <DrugSideEffect>();

                var drug = new Medication
                {
                    DrugName     = model.Name,
                    DateProduced = model.Produced,
                    DateExpires  = model.Expires,
                    Price        = model.Price,
                    Quantity     = model.Stock,
                    Manufacturer = man,
                    Package      = pac,
                    Currency     = val,
                    Usage        = model.Usage,
                    ImagePath    = model.ImagePath
                };


                if (model.SubstitutionType == "existing")
                {
                    var drugs = new List <Medication>();
                    drugs = model.DrugIds.Select(id => _databaseContext.Drug.Find(id)).ToList();
                    drug.Substitutions = drugs;
                }

                drugCategories = model.CategoryIds.Select(id => _databaseContext.Disease.Find(id))
                                 .Select(u => new DrugDisease {
                    Disease = u, Drug = drug
                }).ToList();

                ses = model.SideEffectIds.Select(id => _databaseContext.SideEffect.Find(id))
                      .Select(u => new DrugSideEffect {
                    SideEffect = u, Drug = drug
                }).ToList();

                foreach (var dc in drugCategories)
                {
                    var drugCategoriesInDb = _databaseContext.DrugDisease.SingleOrDefault(s => s.Drug.DrugId == dc.Drug.DrugId &&
                                                                                          s.Disease.DiseaseId == dc.Disease.DiseaseId);
                    if (drugCategoriesInDb == null)
                    {
                        _databaseContext.DrugDisease.Add(dc);
                    }
                }

                foreach (var dc in ses)
                {
                    var sesInDb = _databaseContext.DrugSideEffect.SingleOrDefault(s => s.Drug.DrugId == dc.Drug.DrugId &&
                                                                                  s.SideEffect.SideEffectId == dc.SideEffect.SideEffectId);
                    if (sesInDb == null)
                    {
                        _databaseContext.DrugSideEffect.Add(dc);
                    }
                }

                var z = _databaseContext.Drug.FirstOrDefault(g => (g.DrugName == drug.DrugName && g.Manufacturer == drug.Manufacturer && g.Package == drug.Package));

                if (z != null)
                {
                    TempData[Constants.Message]       = $"Takav proizvod već postoji.\n";
                    TempData[Constants.ErrorOccurred] = true;
                    return(View("Add", model));
                }
                if (drug.DateProduced >= drug.DateExpires)
                {
                    TempData[Constants.Message]       = $"Datum isteka roka mora biti veći od datuma proizvodnje.\n";
                    TempData[Constants.ErrorOccurred] = true;
                    return(View("Add", model));
                }

                _databaseContext.Drug.Add(drug);

                TempData["Success"] = true;
                _databaseContext.SaveChanges();
                TempData[Constants.Message]       = $"Proizvod je dodan";
                TempData[Constants.ErrorOccurred] = false;
            }
            else
            {
                ViewData["SideEffects"]   = _databaseContext.SideEffect.ToList();
                ViewData["Categories"]    = _databaseContext.Disease.ToList();
                ViewData["Manufacturers"] = _databaseContext.Manufacturer.ToList();
                ViewData["Drugs"]         = _databaseContext.Drug.ToList();
                ViewData["Packages"]      = _databaseContext.Package.Include(t => t.Measure).ToList();
                ViewData["Currencies"]    = _databaseContext.Currency.ToList();
                ViewData["Measures"]      = _databaseContext.Measure.ToList();



                return(View("Add", model));
            }
            return(RedirectToAction(nameof(Index)));
        }
コード例 #30
0
 public NextCommand(DrugViewModel viewModel)
 {
     _drugVM = viewModel;
 }