Beispiel #1
0
        //for android: different cos of execution of rd.allocateQty += allocateQty
        public int UpdateRequisitionDetailsAndroid(string itemcode, int requisitionNo, int?allocateQty)
        {
            try
            {
                StationeryModel    entity = new StationeryModel();
                Requisition_Detail rd     = new Requisition_Detail();
                rd = entity.Requisition_Detail.Where(x => x.itemCode == itemcode && x.requisitionNo == requisitionNo).First();
                //start of code added by alex//
                //deduct retrieve qty after doing allocation
                List <RetrieveForm> retrievalList = (List <RetrieveForm>)HttpContext.Current.Application["retrieveForm"];
                int index = retrievalList.FindIndex(x => x.ItemCode == itemcode);
                retrievalList[index].retrieveQty -= allocateQty;


                HttpContext.Current.Application["retrieveForm"] = retrievalList;

                //end of code//
                rd.allocatedQty += allocateQty;
                entity.SaveChanges();
                return(0);
            }
            catch
            {
                return(0);
            }
        }
 public override void NewMethod(object obj)
 {
     RequisitionObj = new Requisition()
     {
         Requisition_Details = new ObservableCollection <Requisition_Detail>(), ReqId = GetNewReqId(), TDate = DateTime.Today, Exp_DeliveryDate = DateTime.Today
     };
     Requisition_DetailObj = new Requisition_Detail();
 }
 public override bool UndoMethod(object obj)
 {
     RequisitionObj = new Requisition()
     {
         Requisition_Details = new ObservableCollection <Requisition_Detail>()
     };
     Requisition_DetailObj = new Requisition_Detail();
     SelectedItemMcode     = null;
     return(false);
 }
Beispiel #4
0
        public int UpdateRequisitionDetails(string itemcode, int requisitionNo, int?allocateQty, int?fulfilledQty)
        {
            StationeryModel    entity = new StationeryModel();
            Requisition_Detail rd     = new Requisition_Detail();

            rd = entity.Requisition_Detail.Where(x => x.itemCode == itemcode && x.requisitionNo == requisitionNo).First();
            rd.allocatedQty = allocateQty;
            rd.fulfilledQty = fulfilledQty;
            entity.SaveChanges();
            return(0);
        }
 public WCFRequisitionDetail GetRequisitionDetailsBy2Keys(string itemCode, string requisitionNO)
 {
     try
     {
         Requisition_Detail detail = requisitionRecordService.FindDetailsBy2Key(itemCode, Convert.ToInt32(requisitionNO));
         return(WCFModelConvertUtility.ConvertToWCFRequisitionDetail(detail));
     }
     catch (Exception e)
     {
         throw new Exception(e.Message);
     }
 }
Beispiel #6
0
        public int?FindUnfulfilledQtyBy2Key(string itemcode, int requisionNo)
        {
            StationeryModel    entity = new StationeryModel();
            Requisition_Detail rd     = entity.Requisition_Detail.Where(x => x.itemCode == itemcode && x.requisitionNo == requisionNo).First();

            if (rd.fulfilledQty != null)
            {
                return(rd.qty - rd.fulfilledQty);
            }
            else
            {
                return(rd.qty);
            }
        }
 private void changeItemEvent(bool IsbarcodeChangeEvent = false)
 {
     if (Requisition_DetailObj == null)
     {
         Requisition_DetailObj = new Requisition_Detail();
     }
     Requisition_DetailObj.Mcode = _SelectedItemMcode;
     Requisition_DetailObj.Item  = new Product(_SelectedItemMcode);
     Requisition_DetailObj.Unit  = Requisition_DetailObj.Item.BASEUNIT;
     //if (IsbarcodeChangeEvent == false)
     //{
     //    Requisition_DetailObj.Bcode = Requisition_DetailObj.Item.BARCODE;
     //}
 }
Beispiel #8
0
        public static Requisition_Detail ConvertFromWCFRequisitionDetail(WCFRequisitionDetail wcf_detail)
        {
            Requisition_Detail detail = new Requisition_Detail();

            detail.allocatedQty       = wcf_detail.AllocateQty;
            detail.clerkID            = wcf_detail.ClerkID;
            detail.fulfilledQty       = wcf_detail.FulfilledQty;
            detail.itemCode           = wcf_detail.ItemCode;
            detail.nextCollectionDate = wcf_detail.NextCollectionDate;
            detail.qty           = wcf_detail.Qty;
            detail.remarks       = wcf_detail.Remarks;
            detail.requisitionNo = wcf_detail.RequisitionNo;
            detail.retrievedDate = wcf_detail.RetrievedDate;

            return(detail);
        }
Beispiel #9
0
 public int UpdateRequisitionDetails(string itemcode, int requisitionNo, int?allocateQty)
 {
     try
     {
         StationeryModel    entity = new StationeryModel();
         Requisition_Detail rd     = new Requisition_Detail();
         rd = entity.Requisition_Detail.Where(x => x.itemCode == itemcode && x.requisitionNo == requisitionNo).First();
         rd.allocatedQty = allocateQty;
         entity.SaveChanges();
         return(0);
     }
     catch (Exception e) {
         e.Message.ToString();
         return(1);
     }
 }
        private ReportViewModel ConvertToReportViewModel(Requisition_Detail detail)
        {
            Stationery         stationery = stationeryService.FindStationeryByItemCode(detail.itemCode);
            Requisition_Record record     = detail.Requisition_Record;

            ReportViewModel vm = new ReportViewModel();

            vm.CategoryName        = stationery.Category.categoryName;
            vm.Cost                = stationery.price;
            vm.ItemCode            = detail.itemCode;
            vm.ItemDescription     = stationery.description;
            vm.Month               = record.requestDate.Value.Month;
            vm.RequestQuantity     = (detail.qty == null) ? 0 : (int)detail.qty;
            vm.RequesterDepartment = userService.FindDeptCodeByID(record.requesterID);
            vm.Year                = record.requestDate.Value.Year;
            vm.Status              = record.status;

            return(vm);
        }
Beispiel #11
0
        public bool UpdateRequisitionDetails(List <RequisitionDetailViewModel> vmList, out string errorMessage)
        {
            errorMessage = null;

            foreach (var vm in vmList)
            {
                Requisition_Detail rd = new Requisition_Detail();
                rd.itemCode      = vm.ItemCode;
                rd.requisitionNo = vm.RequisitionNo;
                rd.qty           = vm.RequestQty;

                if (!rDAO.UpdateRequisitionDetails(rd))
                {
                    errorMessage = String.Format("Error occured when updating the quantity of {0}", vm.Description);
                    return(false);
                }
            }

            return(true);
        }
Beispiel #12
0
        public static WCFRequisitionDetail ConvertToWCFRequisitionDetail(Requisition_Detail detail)
        {
            Stationery           s          = stationeryService.FindStationeryByItemCode(detail.itemCode);
            WCFRequisitionDetail wcf_detail = new WCFRequisitionDetail();

            wcf_detail.RequisitionNo         = detail.requisitionNo;
            wcf_detail.ItemCode              = detail.itemCode;
            wcf_detail.StationeryDescription = s.description;
            wcf_detail.UOM                = s.unitOfMeasure;
            wcf_detail.Remarks            = detail.remarks;
            wcf_detail.Qty                = (detail.qty == null) ? 0 : (int)detail.qty;
            wcf_detail.FulfilledQty       = (detail.fulfilledQty == null) ? 0 : (int)detail.fulfilledQty;
            wcf_detail.ClerkID            = detail.clerkID;
            wcf_detail.RetrievedDate      = detail.retrievedDate;
            wcf_detail.AllocateQty        = (detail.allocatedQty == null) ? 0 : (int)detail.allocatedQty;
            wcf_detail.NextCollectionDate = detail.nextCollectionDate;
            wcf_detail.Status             = detail.Requisition_Record.status;

            return(wcf_detail);
        }
        private void ExecuteAdd(object obj)
        {
            if (Requisition_DetailObj.Item == null)
            {
                return;
            }
            if (Requisition_DetailObj.Quantity <= 0)
            {
                MessageBox.Show("Please provide valid Quantity"); return;
            }
            if (RequisitionObj.Requisition_Details.Any((item) => item.Mcode == Requisition_DetailObj.Mcode))
            {
                MessageBox.Show("Item  is already in the Table below", "Duplicate Data", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }

            RequisitionObj.Requisition_Details.Add(Requisition_DetailObj);
            Requisition_DetailObj = new Requisition_Detail();
            SelectedItemMcode     = null;
        }
Beispiel #14
0
        public bool UpdateRequisitionDetails(Requisition_Detail requisitionDetail)
        {
            using (StationeryModel context = new StationeryModel())
            {
                try
                {
                    Requisition_Detail rd = (from r in context.Requisition_Detail
                                             where r.requisitionNo == requisitionDetail.requisitionNo
                                             & r.itemCode == requisitionDetail.itemCode
                                             select r).FirstOrDefault();

                    rd.qty = requisitionDetail.qty;
                    rd.Requisition_Record.requestDate = DateTime.Today;

                    context.SaveChanges();
                    return(true);
                }
                catch (Exception e)
                {
                    return(false);
                }
            }
        }
Beispiel #15
0
        public ActionResult SubmitRequisition(List <RaiseRequisitionViewModel> requestList)
        {
            string requesterID = HttpContext.User.Identity.Name;

            Requisition_Record requisition = new Requisition_Record();

            foreach (RaiseRequisitionViewModel request in requestList)
            {
                Requisition_Detail rd = new Requisition_Detail();
                rd.itemCode     = request.ItemCode;
                rd.qty          = request.Quantity;
                rd.allocatedQty = 0;
                rd.fulfilledQty = 0;

                requisition.Requisition_Detail.Add(rd);
            }

            if (!requisitionService.IsUserValidToSubmitRequisition(requesterID))
            {
                TempData["ErrorMessage"] = "Sorry, you are not allowed to submit stationery requisition.";
                return(RedirectToAction("NewRequisition"));
            }

            if (requisitionService.ValidateRequisition(requisition))
            {
                // Valid request, submit to database
                try
                {
                    requisitionService.SubmitNewRequisition(requisition, requesterID);

                    // clear requestlist
                    Session["RequestList"]     = new List <RaiseRequisitionViewModel>();
                    TempData["SuccessMessage"] = "New stationery requisition has been submitted.";

                    // go to user requisition list
                    return(RedirectToAction("Index", "ListRequisitions"));
                }
                catch (EmailException e)
                {
                    // submit requisition successfully but email throw exception

                    // clear requestlist
                    Session["RequestList"]     = new List <RaiseRequisitionViewModel>();
                    TempData["SuccessMessage"] = "New stationery requisition has been submitted.";
                    TempData["WarningMessage"] = "Failure to send email notification. Kindly contact IT personnel.";

                    // go to user requisition list
                    return(RedirectToAction("Index", "ListRequisitions"));
                }
                catch (Exception e1)
                {
                    // error
                    Session["RequestList"]   = requestList;
                    TempData["ErrorMessage"] = e1.Message;
                }
            }
            else
            {
                // Invalid request
                Session["RequestList"]   = requestList;
                TempData["ErrorMessage"] = "Invalid request";
            }

            //return to new requisition form if submit unsuccessful
            return(RedirectToAction("NewRequisition"));
        }
        private void convertDataTableToObsCollection()
        {
            var _dataTable = getExcelDataToDataTable();

            if (_dataTable == null)
            {
                return;
            }
            DataColumnCollection columns = _dataTable.Columns;

            if (columns.Contains("BARCODE") || columns.Contains("MENUCODE"))
            {
            }
            else
            {
                MessageBox.Show("Invalid Excel File.Must contain MENUCODE Or BARCODE Column And QUANTITY Column"); return;
            }
            if (columns.Contains("QUANTITY"))
            {
            }
            else
            {
                MessageBox.Show("Invalid Excel File.Must contain QUANTITY Column"); return;
            }
            var productList = new ObservableCollection <Requisition_Detail>(_dataTable.AsEnumerable().Select(i =>
            {
                var RD    = new Requisition_Detail();
                Product P = new Product();
                if (columns.Contains("BARCODE"))
                {
                    using (SqlConnection con = new SqlConnection(GlobalClass.DataConnectionString))
                    {
                        if (string.IsNullOrEmpty(i["BARCODE"].ToString()))
                        {
                            P = null;
                        }
                        else
                        {
                            var bitem = con.Query("SELECT A.BCODE,A.MCODE,A.UNIT,A.ISSUENO,A.EDATE,A.BCODEID,A.SUPCODE,A.BATCHNO,A.EXPIRY,A.REMARKS,A.INVNO,A.DIV,A.FYEAR,A.SRATE,B.DESCA,B.MENUCODE FROM BARCODE A inner join Menuitem B on A.mcode=B.mcode WHERE A.BCODE='" + i["BARCODE"].ToString() + "'").FirstOrDefault();
                            if (bitem == null)
                            {
                                P = null;
                            }
                            else
                            {
                                P.BARCODE  = bitem.BCODE;
                                P.BASEUNIT = bitem.UNIT;
                                P.MCODE    = bitem.MCODE;
                                P.MENUCODE = bitem.MENUCODE;
                                P.DESCA    = bitem.DESCA;
                            }
                        }
                    }
                    // P = ItemList.FirstOrDefault(item => item.BARCODE == i["BARCODE"].ToString());
                    if (P == null)
                    {
                        if (columns.Contains("MENUCODE"))
                        {
                            P = ItemList.FirstOrDefault(item => item.MENUCODE == i["MENUCODE"].ToString());
                        }
                    }
                }
                else if (columns.Contains("MENUCODE"))
                {
                    P = ItemList.FirstOrDefault(item => item.MENUCODE == i["MENUCODE"].ToString());
                }
                var Q = Convert.ToDecimal(i["QUANTITY"]);
                if (P == null || Q <= 0)
                {
                    return(new Requisition_Detail());
                }
                RD.Item        = P;
                RD.Bcode       = P.BARCODE;
                RD.Mcode       = P.MCODE;
                RD.Bcode       = P.BARCODE;
                RD.Unit        = P.BASEUNIT;
                RD.ApprovedQty = Q;
                RD.Quantity    = Q;
                return(RD);
            }));

            if (productList != null)
            {
                this.RequisitionObj.Requisition_Details = new ObservableCollection <Requisition_Detail>(productList.Where(item => item.Item != null));
            }
        }