Ejemplo n.º 1
0
        public ActionResult Modify(string RequisitionID, string SupplierID, int UserID, int ProjectID, DateTime Date, Models.EFTRLine[] pcrdetails)
        {
            try
            {
                string  result = "information is incomplete.";
                int     LineID = 1;
                decimal Sum    = 0;
                if (pcrdetails != null && SupplierID != null && UserID != 0 && ProjectID != 0)
                {
                    var db       = new CodeFirst.CodeFirst();
                    var intReqID = Int32.Parse(RequisitionID);
                    var myEFTR   = db.EFT_Requisition.Where(a => a.RequisitionID == intReqID).FirstOrDefault();

                    myEFTR.RequisitionID = intReqID;
                    myEFTR.Date          = Date;
                    myEFTR.SupplierID    = Convert.ToInt32(SupplierID);
                    myEFTR.ProjectID     = ProjectID;
                    myEFTR.UserID        = UserID;

                    var lines = db.EFT_Requisition_Line.Where(p => p.RequisitionID == intReqID);
                    db.EFT_Requisition_Line.RemoveRange(lines);
                    //OrderLine
                    foreach (var item in pcrdetails)
                    {
                        var myItem = new CodeFirst.EFT_Requisition_Line();
                        myItem.RequisitionID = (int)myEFTR.RequisitionID;
                        myItem.LineID        = LineID;
                        myItem.Details       = item.Details;
                        myItem.QuantityEFT   = (int)item.QuantityEFT;
                        myItem.UnitPriceEFT  = (decimal)item.UnitPriceEFT;
                        myItem.TotalEFT      = decimal.Parse(item.TotalEFT.ToString().Substring(1, item.TotalEFT.ToString().Length - 1));
                        myItem.SupplierID    = Convert.ToInt32(SupplierID);

                        Sum += decimal.Parse(item.TotalEFT.ToString().Substring(1, item.TotalEFT.ToString().Length - 1));
                        LineID++;
                        db.EFT_Requisition_Line.Add(myItem);
                    }

                    myEFTR.TotalAmount = Sum;

                    if (Sum > 2000)
                    {
                        db.SaveChanges();
                        result = "Success! EFT Requisition updated!";
                    }
                    else
                    {
                        result = "Total Amount is less than R2000. Only Petty Cash Requisitions can be under this amount.";
                    }
                }
                return(Json(result, JsonRequestBehavior.AllowGet));
            }
            catch
            {
                var result = "Error has occured!";

                return(Json(result, JsonRequestBehavior.AllowGet));
            }
        }
Ejemplo n.º 2
0
        public JsonResult SavePCRALL(string SupplierID, int UserID, int ProjectID, DateTime Date, EFTRLine[] pcrdetails)
        {
            string  result = "Error!information is incomplete";
            int     LineID = 1;
            decimal Sum    = 0;

            if (pcrdetails != null && SupplierID != null && UserID != 0 && ProjectID != 0)
            {
                var             db     = new CodeFirst.CodeFirst();
                EFT_Requisition newPCR = new EFT_Requisition();
                if (db.EFT_Requisition.ToList().Count > 0)
                {
                    var waduuu = db.EFT_Requisition.OrderByDescending(a => a.RequisitionID).FirstOrDefault();

                    newPCR.RequisitionID         = waduuu.RequisitionID + 1;
                    newPCR.ApprovedCEO           = false;
                    newPCR.ApprovedProjectManger = false;
                    newPCR.Date       = Date;
                    newPCR.SupplierID = Convert.ToInt32(SupplierID);
                    newPCR.ProjectID  = ProjectID;
                    newPCR.UserID     = UserID;
                }
                else
                {
                    newPCR.RequisitionID         = 1;
                    newPCR.ApprovedCEO           = false;
                    newPCR.ApprovedProjectManger = false;
                    newPCR.Date       = Date;
                    newPCR.SupplierID = Convert.ToInt32(SupplierID);
                    newPCR.ProjectID  = ProjectID;
                    newPCR.UserID     = UserID;
                }
                db.EFT_Requisition.Add(newPCR);

                //OrderLine
                foreach (var item in pcrdetails)
                {
                    CodeFirst.EFT_Requisition_Line tempLine = new CodeFirst.EFT_Requisition_Line();
                    tempLine.RequisitionID = (int)newPCR.RequisitionID;
                    tempLine.LineID        = LineID;
                    tempLine.Details       = item.Details;
                    tempLine.QuantityEFT   = (int)item.QuantityEFT;
                    tempLine.UnitPriceEFT  = (decimal)item.UnitPriceEFT;
                    tempLine.TotalEFT      = decimal.Parse((item.TotalEFT.ToString().Substring(1, item.TotalEFT.ToString().Length - 1)), CultureInfo.InvariantCulture);
                    tempLine.SupplierID    = (int)item.SupplierID;

                    Sum += decimal.Parse((item.TotalEFT.ToString().Substring(1, item.TotalEFT.ToString().Length - 1)), CultureInfo.InvariantCulture);
                    LineID++;
                    db.EFT_Requisition_Line.Add(tempLine);
                }

                newPCR.TotalAmount = Sum;

                if (Sum > 2000)
                {
                    db.SaveChanges();
                    result = "Success! Order is complete!";
                }
                else
                {
                    result = "Total Amount is less than R2000. Please Use Petty Cash Requisition for this Transaction";
                }
            }
            return(Json(result, JsonRequestBehavior.AllowGet));
        }