示例#1
0
        public void Update(DemandMasterModel model)
        {
            EHMSEntities ent = new EHMSEntities();
            var          obj = ent.ItemDemandMasters.Where(x => x.ItemDemandID == model.ItemDemandID).SingleOrDefault();

            model.CreatedBy   = obj.CreatedBy;
            model.CreatedDate = obj.CreatedDate;
            model.Status      = obj.Status;
            AutoMapper.Mapper.Map(model, obj);
            ent.Entry(obj).State = System.Data.EntityState.Modified;
            foreach (var item in ent.ItemDemandDetails.Where(x => x.ItemDemandID == obj.ItemDemandID && x.DispatchStatus == false).ToList())
            {
                ent.ItemDemandDetails.Remove(item);
            }
            foreach (var item in model.StockItemEntryList)
            {
                ItemDemandDetail demandDetail = new ItemDemandDetail();
                demandDetail.ItemDemandID   = obj.ItemDemandID;
                demandDetail.ItemID         = item.StockItemEntryId;
                demandDetail.QuantityDemand = item.Quantity;
                demandDetail.DispatchStatus = false;
                demandDetail.Remarks        = "";
                ent.ItemDemandDetails.Add(demandDetail);
            }
            ent.SaveChanges();
        }
示例#2
0
        public ActionResult Create(DemandMasterModel model)
        {
            var errors = ModelState.Values.SelectMany(v => v.Errors);

            if (model.StockItemEntryList == null || model.StockItemEntryList.Count == 0)
            {
                TempData["message"] = "Add Items!";
                return(View(model));
            }
            if (ModelState.IsValid)
            {
                try
                {
                    // TODO: Add insert logic here
                    pro.Insert(model);
                    return(RedirectToAction("Index"));
                }
                catch (Exception e)
                {
                    return(View(model));
                }
            }
            else
            {
                return(View(model));
            }
        }
示例#3
0
        public ActionResult Index()
        {
            DemandMasterModel model = new DemandMasterModel();

            model.DemandMasterList = pro.GetList();
            return(View(model));
        }
示例#4
0
        //
        // GET: /Demand/Edit/5

        public ActionResult Edit(int id)
        {
            DemandMasterModel model = new DemandMasterModel();

            model = pro.GetDemandForEdit(id);
            return(View(model));
        }
示例#5
0
        public ActionResult Index(int?id)
        {
            EHMSEntities      ent   = new EHMSEntities();
            DemandMasterModel model = new DemandMasterModel();

            model.ItemDemandNo     = ent.ItemDemandMasters.Where(x => x.ItemDemandID == id).SingleOrDefault().ItemDemandNo;
            model.DemandMasterList = new List <DemandMasterModel>();
            model.DemandDetailList = new List <DemandDetailModel>(AutoMapper.Mapper.Map <IEnumerable <ItemDemandDetail>, IEnumerable <DemandDetailModel> >(ent.ItemDemandDetails.Where(x => x.ItemDemandID == id && x.DispatchStatus == false)));
            if (model.DemandDetailList.Count == 0)
            {
                TempData["message"] = "Items not available!!";
                return(RedirectToAction("Index", "Demand"));
            }
            try
            {
                var          obj   = ent.ItemAllotmentMasters.Where(x => x.ItemAllotmentMasterID == ent.ItemAllotmentMasters.Max(y => y.ItemAllotmentMasterID)).SingleOrDefault();
                string[]     nums  = obj.ItemAllotmentNo.Split('N');
                RecordNumGen rcnum = new RecordNumGen(nums[1]);

                model.ItemAllotmentNo = "AN" + rcnum.RecNumGen();
            }
            catch (Exception e)
            {
                model.ItemAllotmentNo = "AN001";
            }
            return(View(model));
        }
示例#6
0
        public ActionResult DemandDetails(int id)
        {
            DemandMasterModel model = new DemandMasterModel();

            model.DemandDetailList = pro.GetDemandDetails(id);

            return(View("Index", model));
        }
示例#7
0
        public ActionResult Index()
        {
            EHMSEntities      ent   = new EHMSEntities();
            DemandMasterModel model = new DemandMasterModel();

            model.DemandMasterList = pro.GetList();
            foreach (var item in model.DemandMasterList)
            {
                var c = ent.DemandPatientAssignments.Where(x => x.DemandId == item.ItemDemandID && x.Status == true).Count();
                if (c == 0)
                {
                    item.Orderer = "Assign Patients";
                }
                else
                {
                    item.Orderer = c + " Patient(s) Assigned";
                }
            }
            return(View(model));
        }
示例#8
0
        //
        // GET: /Demand/Create

        public ActionResult Create()
        {
            EHMSEntities      ent   = new EHMSEntities();
            DemandMasterModel model = new DemandMasterModel();

            try
            {
                var          obj   = ent.ItemDemandMasters.Where(x => x.ItemDemandID == ent.ItemDemandMasters.Max(y => y.ItemDemandID)).SingleOrDefault();
                string[]     nums  = obj.ItemDemandNo.Split('N');
                RecordNumGen rcnum = new RecordNumGen(nums[1]);

                model.ItemDemandNo = "DN" + rcnum.RecNumGen();
            }
            catch (Exception e)
            {
                model.ItemDemandNo = "DN001";
            }
            model.DemandDate = DateTime.Today;
            return(View(model));
        }
        public void Insert(DemandMasterModel model)
        {
            EHMSEntities ent       = new EHMSEntities();
            var          objToSave = AutoMapper.Mapper.Map <DemandMasterModel, ItemDemandMaster>(model);

            objToSave.CreatedBy    = 1;
            objToSave.CreatedDate  = DateTime.Now;
            objToSave.Status       = true;
            objToSave.DepartmentID = 1;
            ent.ItemDemandMasters.Add(objToSave);
            ent.SaveChanges();
            foreach (var item in model.StockItemEntryList)
            {
                ItemDemandDetail demandDetail = new ItemDemandDetail();
                demandDetail.ItemDemandID   = ent.ItemDemandMasters.OrderByDescending(x => x.ItemDemandID).FirstOrDefault().ItemDemandID;
                demandDetail.ItemID         = item.StockItemEntryId;
                demandDetail.QuantityDemand = item.Quantity;
                demandDetail.DispatchStatus = false;
                demandDetail.Remarks        = "";
                ent.ItemDemandDetails.Add(demandDetail);
            }
            ent.SaveChanges();
        }
示例#10
0
        public DemandMasterModel GetDemandForEdit(int id)
        {
            EHMSEntities      ent   = new EHMSEntities();
            DemandMasterModel model = new DemandMasterModel();
            var obj = ent.ItemDemandMasters.Where(x => x.ItemDemandID == id).SingleOrDefault();

            AutoMapper.Mapper.Map(obj, model);
            var demandDetails = ent.ItemDemandDetails.Where(x => x.ItemDemandID == id).ToList();

            foreach (var item in demandDetails)
            {
                if (item.DispatchStatus == false)
                {
                    StockItemEntry itemEntry = new StockItemEntry();
                    itemEntry.StockCategoryId    = ent.SetupStockItemEntries.Where(x => x.StockItemEntryId == item.ItemID).SingleOrDefault().StockCategoryId;
                    itemEntry.StockSubCategoryId = ent.SetupStockItemEntries.Where(x => x.StockItemEntryId == item.ItemID).SingleOrDefault().StockSubCategoryId;
                    itemEntry.StockItemEntryId   = item.ItemID;
                    itemEntry.Quantity           = item.QuantityDemand;
                    model.StockItemEntryList.Add(itemEntry);
                }
            }
            return(model);
        }
示例#11
0
        public void Insert(DemandMasterModel model)
        {
            EHMSEntities ent       = new EHMSEntities();
            var          objToSave = AutoMapper.Mapper.Map <DemandMasterModel, ItemDemandMaster>(model);

            objToSave.CreatedBy    = 1;
            objToSave.CreatedDate  = DateTime.Now;
            objToSave.Status       = true;
            objToSave.DepartmentID = HospitalManagementSystem.Utility.GetCurrentUserDepartmentId();
            ent.ItemDemandMasters.Add(objToSave);
            ent.SaveChanges();
            foreach (var item in model.StockItemEntryList)
            {
                ItemDemandDetail demandDetail = new ItemDemandDetail();
                demandDetail.ItemDemandID   = objToSave.ItemDemandID;
                demandDetail.ItemID         = item.StockItemEntryId;
                demandDetail.QuantityDemand = item.Quantity;
                demandDetail.DispatchStatus = false;
                demandDetail.Remarks        = "";
                ent.ItemDemandDetails.Add(demandDetail);
            }
            ent.SaveChanges();
        }
示例#12
0
 public ActionResult Edit(int id, DemandMasterModel model)
 {
     if (model.StockItemEntryList == null || model.StockItemEntryList.Count == 0)
     {
         return(View(model));
     }
     if (ModelState.IsValid)
     {
         try
         {
             // TODO: Add update logic here
             pro.Update(model);
             return(RedirectToAction("Index"));
         }
         catch
         {
             return(View(model));
         }
     }
     else
     {
         return(View(model));
     }
 }
示例#13
0
        public string Insert(DemandMasterModel model)
        {
            int                 flag   = 0;
            string              s      = "";
            EHMSEntities        ent    = new EHMSEntities();
            ItemAllotmentMaster master = new ItemAllotmentMaster();

            master.ItemDemandID    = model.DemandDetailList[0].ItemDemandID;
            master.AllotmentDate   = (DateTime)model.AllotmentDate;
            master.Orderer         = model.Orderer;
            master.OrdererPost     = model.OrdererPost;
            master.CreatedBy       = 1;
            master.CreatedDate     = DateTime.Now;
            master.Status          = true;
            master.ItemAllotmentNo = model.ItemAllotmentNo;
            ent.ItemAllotmentMasters.Add(master);

            ent.SaveChanges();
            foreach (var item in model.DemandDetailList)
            {
                if (item.CancellationStatus == false)
                {
                    ItemAllotmentDetail detail   = new ItemAllotmentDetail();
                    DepartmentWiseStock depStock = new DepartmentWiseStock();
                    int did       = HospitalManagementSystem.Utility.GetCurrentUserDepartmentId();
                    var stockItem = ent.StockItemMasters.Where(x => x.StockItemEntryId == item.ItemID).SingleOrDefault();
                    detail.ItemAllotmentMasterID = master.ItemAllotmentMasterID;
                    detail.ItemID             = item.ItemID;
                    detail.QuantityIssued     = item.QuantityIssued;
                    detail.QuantityRemained   = item.QuantityDemand - item.QuantityIssued;
                    detail.SourceFrom         = item.SourceFrom;
                    detail.CancellationStatus = item.CancellationStatus;
                    detail.Remarks            = item.Remarks;
                    detail.Status             = true;


                    depStock.DepartmentID = ent.ItemDemandMasters.Where(x => x.ItemDemandID == master.ItemDemandID).SingleOrDefault().DepartmentID;
                    depStock.ItemId       = item.ItemID;
                    depStock.Quantity     = item.QuantityIssued;
                    depStock.CreatedBy    = HospitalManagementSystem.Utility.GetCurrentLoginUserId();
                    depStock.CreatedDate  = DateTime.Today;
                    if ((item.QuantityIssued > item.QuantityDemand) || (item.SourceFrom == 1 && item.QuantityIssued > stockItem.Quantity))
                    {
                        s = "Quantity issued is greater than that availabe in stock OR Quantity Demanded!";
                    }
                    else
                    {
                        flag = 1;
                        var demandDetail = ent.ItemDemandDetails.Where(x => x.ItemDemandDetailId == item.ItemDemandDetailId).SingleOrDefault();
                        demandDetail.DispatchStatus = true;
                        stockItem          = ent.StockItemMasters.Where(x => x.StockItemEntryId == item.ItemID).SingleOrDefault();
                        stockItem.Quantity = (item.SourceFrom == 1) ? (stockItem.Quantity - item.QuantityIssued) : stockItem.Quantity;
                        ent.ItemAllotmentDetails.Add(detail);
                        if (ent.DepartmentWiseStocks.Where(x => x.DepartmentID == did && x.ItemId == item.ItemID).Any())
                        {
                            var obj = ent.DepartmentWiseStocks.Where(x => x.DepartmentID == did && x.ItemId == item.ItemID).SingleOrDefault();
                            obj.Quantity         = obj.Quantity + item.QuantityIssued;
                            ent.Entry(obj).State = System.Data.EntityState.Modified;
                        }
                        else
                        {
                            ent.DepartmentWiseStocks.Add(depStock);
                        }
                        ent.Entry(demandDetail).State = System.Data.EntityState.Modified;
                        ent.Entry(stockItem).State    = System.Data.EntityState.Modified;
                        ent.SaveChanges();
                    }
                }
                else
                {
                    var demandDetail = ent.ItemDemandDetails.Where(x => x.ItemDemandDetailId == item.ItemDemandDetailId).SingleOrDefault();
                    demandDetail.DispatchStatus = item.isSelected == true ? false : true;

                    ent.Entry(demandDetail).State = System.Data.EntityState.Modified;
                    ent.SaveChanges();
                }
            }
            if (flag != 1)
            {
                EHMSEntities ent1 = new EHMSEntities();
                var          obj  = ent1.ItemAllotmentMasters.OrderByDescending(x => x.ItemAllotmentMasterID).FirstOrDefault();
                ent1.ItemAllotmentMasters.Remove(obj);
                ent1.SaveChanges();
            }

            return(s);
        }
示例#14
0
        public ActionResult DemandItemList()
        {
            DemandMasterModel model = new DemandMasterModel();

            return(PartialView("DemandItemList"));
        }
示例#15
0
        public ActionResult Index(DemandMasterModel model)
        {
            EHMSEntities ent = new EHMSEntities();
            string       s   = "";

            //ViewBag.datef = datefrom;
            //ViewBag.datet = dateto;
            //ViewBag.dmdno = demandno;

            //if (saveDetails != null)
            //{
            //    if (demandno == "")
            //    {
            //        model.DemandMasterList = pro.GetCustomDemandList(model.DepartmentID, datefrom, dateto);
            //    }
            foreach (var item in model.DemandDetailList)
            {
                if (item.CancellationStatus == false && item.isSelected == false && item.QuantityIssued == 0)
                {
                    TempData["message"] = "Enter quantity to be dispatched!";

                    return(View(model));
                }
            }

            s = proA.Insert(model);

            if (s != "")
            {
                TempData["message"] = s;
                foreach (var item in model.DemandDetailList)
                {
                    if (ent.ItemDemandDetails.Any(x => x.ItemID == item.ItemID && x.ItemDemandID == item.ItemDemandID && x.DispatchStatus == true))
                    {
                        model.DemandDetailList = model.DemandDetailList.Where(x => x.ItemID != item.ItemID && x.ItemDemandID != item.ItemDemandID).ToList();
                    }
                }
                return(View(model));
            }
            if (model.isSelected == true)
            {
                StockPurchaseOrderModel purchasemodel = new StockPurchaseOrderModel();
                purchasemodel.StockPurchaseItemEntryList = new List <StockPurchaseItemEntry>();
                foreach (var item in model.DemandDetailList)
                {
                    if (item.isSelected == true)
                    {
                        StockPurchaseItemEntry itementry = new StockPurchaseItemEntry();
                        var obj = ent.SetupStockItemEntries.Where(x => x.StockItemEntryId == item.ItemID).SingleOrDefault();
                        itementry.StockCategoryId    = obj.StockCategoryId;
                        itementry.StockSubCategoryId = obj.StockSubCategoryId;
                        itementry.StockItemEntryId   = obj.StockItemEntryId;
                        purchasemodel.StockPurchaseItemEntryList.Add(itementry);
                    }
                }
                Session["purchaseitementrylist"] = purchasemodel.StockPurchaseItemEntryList;
                return(RedirectToAction("CreateView", "StockPurchaseOrder"));
            }
            //}

            //model.DemandDetailList = new List<DemandDetailModel>();
            //if (demandno != "")
            //{

            //    var objList = (from dd in ent.ItemDemandDetail
            //                   join dm in ent.ItemDemandMaster
            //                       on dd.ItemDemandID equals dm.ItemDemandID
            //                   where dm.ItemDemandNo == demandno && dd.DispatchStatus == false
            //                   select dd).ToList();
            //    try
            //    {
            //        int i = objList[0].ItemDemandID;
            //        model.ItemDemandNo = ent.ItemDemandMaster.Where(x => x.ItemDemandID == i).SingleOrDefault().ItemDemandNo;
            //        AutoMapper.Mapper.Map(objList, model.DemandDetailList);
            //    }
            //    catch { }
            //        try
            //    {
            //        string num = ent.ItemAllotmentMaster.Max(x => x.ItemAllotmentNo);
            //        string[] nums = num.Split('N');
            //        RecordNumGen rcnum = new RecordNumGen(nums[1]);

            //        model.ItemAllotmentNo = "AN" + rcnum.RecNumGen();
            //    }
            //    catch (Exception e)
            //    {
            //        model.ItemAllotmentNo = "AN001";
            //    }

            //}
            //else
            //{
            //    model.DemandMasterList = pro.GetCustomDemandList(model.DepartmentID, datefrom, dateto);
            //    if (DemandId != "")
            //    {

            //        model.DemandDetailList = pro.GetCDemandDetails(Convert.ToInt32(DemandId));
            //        try
            //        {
            //            int i = model.DemandDetailList[0].ItemDemandID;
            //            model.ItemDemandNo = ent.ItemDemandMaster.Where(x => x.ItemDemandID == i).SingleOrDefault().ItemDemandNo;
            //        }
            //        catch { }
            //            try
            //        {
            //            string num = ent.ItemAllotmentMaster.Max(x => x.ItemAllotmentNo);
            //            string[] nums = num.Split('N');
            //            RecordNumGen rcnum = new RecordNumGen(nums[1]);

            //            model.ItemAllotmentNo = "AN" + rcnum.RecNumGen();
            //        }
            //        catch (Exception e)
            //        {
            //            model.ItemAllotmentNo = "AN001";
            //        }
            //    }

            //}



            return(RedirectToAction("AllotmentMaster"));
        }