Esempio n. 1
0
        public ActionResult Delivery(int Id, string Notes)
        {
            var salesDetails  = this.salesService.GetBySalesDetailesId(Id);
            var salesDelivery = new SalesDelivery()
            {
                AdditionalCost = 0,
                CustomerID     = salesDetails.SalesMaster.CustomerID,
                IsActive       = true,
                DeliveryDate   = DateTime.Now,
                DriverMobileNo = "",
                DriverName     = "",
                ExpenseBy      = "",
                Notes          = Notes,
                SalesDetailsId = salesDetails.Id,
                SalesInvoice   = salesDetails.SalesInvoice,
                SalesMasterId  = salesDetails.SalesMasterId,
                TransportNo    = "",
                TransportType  = "",
                CreatedDate    = DateTime.Now,
                CreatedBy      = CurrentSession.GetCurrentSession().UserName
            };

            salesDeliveryService.Save(salesDelivery);
            salesDetails.DeliveryStatus = (int)DeliveryStatus.Delivered;
            salesDetails.Notes          = Notes;
            salesService.Update(salesDetails, Id);
            return(Json("Delivered Sucess", JsonRequestBehavior.AllowGet));
        }
Esempio n. 2
0
 public SalesDelivery Save(SalesDelivery cus)
 {
     cus.CreatedDate = DateTime.Now;
     cus.CreatedBy   = CurrentSession.GetCurrentSession().UserName;
     service.Save(cus);
     return(cus);
 }
        public bool UpdateQuotationreceipt(SalesDelivery salesdelivery, IList <SalesDeliveryItems> salesdeliveryItemList, ref string ErrorMessage)
        {
            ErrorMessage = string.Empty;
            try
            {
                deliveryreturn.Entry(salesdelivery).State = EntityState.Modified;
                deliveryreturn.SaveChanges();

                foreach (var model1 in salesdeliveryItemList)
                {
                    if (model1.IsDummy == 1)
                    {
                        deliveryreturn.Entry(model1).State = EntityState.Deleted;
                        deliveryreturn.SaveChanges();
                    }
                    else
                    {
                        if (model1.sales_Item_Id == 0)
                        {
                            model1.Sales_Delivery_Id = salesdelivery.Sales_Delivery_Id;
                            deliveryreturn.salesdeliveryitems.Add(model1);
                            deliveryreturn.SaveChanges();
                        }
                        else
                        {
                            deliveryreturn1.salesdeliveryitems.Attach(model1);
                            deliveryreturn1.Entry(model1).State = EntityState.Modified;
                            //goodscontext.SaveChanges();
                        }
                        deliveryreturn1.SaveChanges();
                    }
                }

                return(true);
            }
            //catch (Exception ex)
            //{
            //    ExceptionHandler.LogException(ex);
            //    ErrorMessage = ex.Message;
            //    return false;
            //}
            catch (DbEntityValidationException dbEx)
            {
                var errorList = new List <string>();

                foreach (var validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (var validationError in validationErrors.ValidationErrors)
                    {
                        errorList.Add(String.Format("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage));
                    }
                }
                return(false);
            }
        }
Esempio n. 4
0
        public bool UpdateSalesDelivery(SalesDelivery Quotation, IList <SalesDeliveryItems> QuotationItemList, ref string ErrorMessage)
        {
            ErrorMessage = string.Empty;
            try
            {
                salesinvoicecontext.Entry(Quotation).State = EntityState.Modified;
                salesinvoicecontext.SaveChanges();

                foreach (var model in QuotationItemList)
                {
                    if (model.IsDummy == 1)
                    {
                        salesinvoicecontext1.Entry(model).State = EntityState.Deleted;
                        salesinvoicecontext1.SaveChanges();
                    }
                    else
                    {
                        if (model.sales_Item_Id == 0)
                        {
                            model.Sales_Delivery_Id = Quotation.Sales_Delivery_Id;
                            salesinvoicecontext1.SalesDeliveryItems.Add(model);
                            salesinvoicecontext1.SaveChanges();
                        }
                        else
                        {
                            salesinvoicecontext1.Entry(model).State = EntityState.Modified;
                            salesinvoicecontext1.SaveChanges();
                        }
                    }
                }

                return(true);
            }
            catch (Exception ex)
            {
                ExceptionHandler.LogException(ex);
                ErrorMessage = ex.Message;
                return(false);
            }
            //catch (DbEntityValidationException dbEx)
            //{
            //    var errorList = new List<string>();

            //    foreach (var validationErrors in dbEx.EntityValidationErrors)
            //    {
            //        foreach (var validationError in validationErrors.ValidationErrors)
            //        {
            //            errorList.Add(String.Format("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage));
            //        }
            //    }
            //    return false;
            //}
        }
Esempio n. 5
0
        protected void SalesDeliveryControl_SaveButtonClick(object sender, EventArgs e)
        {
            Collection <int> tranIdCollection = this.SalesDeliveryControl.GetTranIdCollection();

            long transactionMasterId = SalesDelivery.Add(this.SalesDeliveryControl.GetForm.Date, this.SalesDeliveryControl.GetForm.StoreId, this.SalesDeliveryControl.GetForm.PartyCode, this.SalesDeliveryControl.GetForm.PriceTypeId, this.SalesDeliveryControl.GetForm.Details, this.SalesDeliveryControl.GetForm.ShippingCompanyId, this.SalesDeliveryControl.GetForm.ShippingCharge, this.SalesDeliveryControl.GetForm.CostCenterId, this.SalesDeliveryControl.GetForm.ReferenceNumber, this.SalesDeliveryControl.GetForm.AgentId, this.SalesDeliveryControl.GetForm.StatementReference, tranIdCollection);

            if (transactionMasterId > 0)
            {
                this.Response.Redirect("~/Sales/Confirmation/DeliveryWithoutOrder.aspx?TranId=" + transactionMasterId, true);
            }
            else
            {
                this.SalesDeliveryControl.ErrorMessage = Labels.UnknownError;
            }
        }
        public bool UpdateQuotation(SalesDelivery salesdelivery, IList <SalesDeliveryItems> deliveryItemList, ref string ErrorMessage)
        {
            ErrorMessage = string.Empty;
            try
            {
                deliverycontext.Entry(salesdelivery).State = EntityState.Modified;
                deliverycontext.SaveChanges();

                foreach (var model in deliveryItemList)
                {
                    if (model.IsDummy == 1)
                    {
                        deliverycontext.Entry(model).State = EntityState.Deleted;
                        deliverycontext.SaveChanges();
                    }
                    else
                    {
                        if (model.Sales_Delivery_Id == 0)
                        {
                            model.Sales_Delivery_Id = salesdelivery.Sales_Delivery_Id;
                            deliverycontext.salesdeliveryitems.Add(model);
                            deliverycontext.SaveChanges();
                        }
                        else
                        {
                            deliverycontext.Entry(model).State = EntityState.Modified;
                            deliverycontext.SaveChanges();
                        }
                    }
                }

                return(true);
            }
            catch (DbEntityValidationException dbEx)
            {
                var errorList = new List <string>();

                foreach (var validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (var validationError in validationErrors.ValidationErrors)
                    {
                        errorList.Add(String.Format("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage));
                    }
                }
                return(false);
            }
        }
        public bool AddNewQuotation(SalesDelivery salesdelivery, IList <SalesDeliveryItems> deliveryItemList, ref string ErrorMessage)
        {
            ErrorMessage = string.Empty;
            try
            {
                // findid(id);
                deliverycontext.salesdelivery.Add(salesdelivery);

                deliverycontext.SaveChanges();

                int currentId = salesdelivery.Sales_Delivery_Id;

                for (int i = 0; i < deliveryItemList.Count; i++)
                {
                    deliveryItemList[i].Sales_Delivery_Id = currentId;
                    deliveryItemList[i].BaseDocLink       = "Y";
                }

                deliverycontext.salesdeliveryitems.AddRange(deliveryItemList);

                deliverycontext.SaveChanges();

                return(true);
            }

            catch (DbEntityValidationException dbEx)
            {
                var errorList = new List <string>();

                foreach (var validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (var validationError in validationErrors.ValidationErrors)
                    {
                        errorList.Add(String.Format("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage));
                    }
                }
                return(false);
            }
            //catch (Exception ex)
            //{
            //    ExceptionHandler.LogException(ex);
            //    ErrorMessage = ex.Message;
            //    return false;
            //}
        }
Esempio n. 8
0
        public long Save(DateTime valueDate, int storeId, string partyCode, int priceTypeId, string referenceNumber, string data, string statementReference, int agentId, int shipperId, string shippingAddressCode, decimal shippingCharge, int costCenterId, string transactionIds, string attachmentsJSON)
        {
            Collection <StockMasterDetailModel> details = this.GetDetails(data, storeId);
            Collection <int> tranIds = new Collection <int>();

            JavaScriptSerializer    js          = new JavaScriptSerializer();
            Collection <Attachment> attachments = js.Deserialize <Collection <Attachment> >(attachmentsJSON);


            if (!string.IsNullOrWhiteSpace(transactionIds))
            {
                foreach (var transactionId in transactionIds.Split(','))
                {
                    tranIds.Add(Conversion.TryCastInteger(transactionId));
                }
            }

            return(SalesDelivery.Add(valueDate, storeId, partyCode, priceTypeId, details, shipperId, shippingAddressCode, shippingCharge, costCenterId, referenceNumber, agentId, statementReference, tranIds, attachments));
        }
Esempio n. 9
0
 public SalesDelivery Update(SalesDelivery t, int id)
 {
     service.Update(t, id);
     return(t);
 }
Esempio n. 10
0
        public ActionResult Index(string submitButton, SalesDeliveryViewModels model, HttpPostedFileBase file = null)
        {
            try
            {
                //ApplicationUser currentUser = ApplicationUserManager.GetApplicationUser(User.Identity.Name, HttpContext.GetOwinContext());

                if (submitButton == "Save")
                {
                    model.salesdelivery.Document_Date    = DateTime.Now;
                    model.salesdelivery.Posting_Date     = DateTime.Now;
                    model.salesdelivery.Branch           = CurrentBranchId;
                    model.salesdelivery.Doc_Status       = "Open";
                    model.salesdelivery.TargetDocId      = "0";
                    model.salesdelivery.Created_Branc_Id = CurrentBranchId; //CurrentBranchId;
                    model.salesdelivery.Created_Date     = DateTime.Now;
                    model.salesdelivery.Created_User_Id  = CurrentUser.Id;  //CurrentUser.Id;

                    var OrderList = model.salesdeliverytitemlist.Where(x => x.IsDummy == 0);
                    model.salesdeliverytitemlist = OrderList.ToList();

                    for (int i = 0; i < model.salesdeliverytitemlist.Count; i++)
                    {
                        model.salesdeliverytitemlist[i].BaseDocLink = "N";
                        //model.goodreceiptitemlist[i].Product_id = model.PurchaseOrderItemsList[i].Product_id;
                        //model.goodreceiptitemlist[i].Quantity = model.PurchaseOrderItemsList[i].Quantity;
                        //model.goodreceiptitemlist[i].Unit_price = model.PurchaseOrderItemsList[i].Unit_price;
                        //model.goodreceiptitemlist[i].Discount_percent = model.PurchaseOrderItemsList[i].Discount_percent;
                        //model.goodreceiptitemlist[i].Vat_Code = model.PurchaseOrderItemsList[i].Vat_Code;
                        //model.goodreceiptitemlist[i].Freight_Loading = Convert.ToDecimal(model.PurchaseOrderItemsList[i].Freight_Loading);
                    }



                    if (deliveryrepository.AddNewQuotation(model.salesdelivery, model.salesdeliverytitemlist, ref ErrorMessage))
                    {
                        return(RedirectToAction("Index", "SalesDelivery"));
                    }
                    else
                    {
                        ViewBag.AppErrorMessage = ErrorMessage;
                        return(View("Error"));
                    }
                }
                else if (submitButton == "Save ")
                {
                    SalesDeliveryViewModels model1 = new SalesDeliveryViewModels();

                    model1.BranchList         = deliveryrepository.GetAddressbranchList().ToList();
                    model1.BussinessList      = deliveryrepository.GetAddressbusinessList().ToList();
                    model1.productlist        = deliveryrepository.GetProductList();
                    model1.VATList            = deliveryrepository.GetVATList();
                    model1.salesorder         = deliveryrepository.FindOneQuotationById1(model.salesorder.Sales_Order_Id);
                    model1.salesorderitemlist = deliveryrepository.FindOneQuotationItemById1(model.salesorder.Sales_Order_Id);

                    // model1.PurchaseOrderItems = goodsrepository.FindOneQuotationItemById1(model.PurchaseOrderList.FirstOrDefault().Purchase_Order_Id);


                    if (model1.salesorder.Customer == model.salesorder.Customer)
                    {
                        //for BaseDocId
                        for (int j = 0; j < model.salesorderitemlist.Count; j++)
                        {
                            if (model1.salesorderitemlist[j].Product_id == model.salesorderitemlist[j].Product_id)
                            {
                                model.salesdelivery.BaseDocId = model.salesorder.Sales_Order_Id;
                            }
                        }

                        //for BaseDocLink
                        for (int j = 0; j < model.salesorderitemlist.Count; j++)
                        {
                            if (model1.salesorderitemlist[j].Product_id == model.salesorderitemlist[j].Product_id)
                            {
                                model.salesdeliverytitemlist[j].BaseDocLink = "Y";
                            }
                            else
                            {
                                model.salesdeliverytitemlist[j].BaseDocLink = "N";
                            }

                            model.salesdelivery.Doc_Status        = "Open";
                            model.salesdelivery.Remarks           = Convert.ToString(model.salesorder.Sales_Order_Id);
                            model.salesdelivery.Created_Branc_Id  = CurrentBranchId; //CurrentBranchId;
                            model.salesdelivery.Created_Date      = DateTime.Now;
                            model.salesdelivery.Created_User_Id   = CurrentBranchId; //CurrentUser.Id;
                            model.salesdelivery.Sales_Delivery_Id = model.salesorder.Sales_Order_Id;
                            model.salesdelivery.Reference_Number  = model.salesorder.Reference_Number;
                            model.salesdelivery.Customer          = model.salesorder.Customer;
                            //model.salesorder.Doc_Status = model.PurchaseOrder.Order_Status;
                            model.salesdelivery.Posting_Date  = model.salesorder.Posting_Date;
                            model.salesdelivery.Delivery_Date = model.salesorder.Delivery_Date;
                            // model.salesorder.Delivery_Date = model.SalesQuotation.Delivery_Date;
                            model.salesdelivery.Document_Date    = model.salesorder.Document_Date;
                            model.salesdelivery.Branch           = model.salesorder.Branch;
                            model.salesdelivery.TotalBefDocDisc  = model.salesorder.TotalBefDocDisc;
                            model.salesdelivery.DocDiscAmt       = model.salesorder.DocDiscAmt;
                            model.salesdelivery.TotalSlsDlvryAmt = model.salesorder.TotalOrdAmt;
                            model.salesdelivery.TaxAmt           = model.salesorder.TaxAmt;
                            model.salesdelivery.TargetDocId      = "0";
                            //model.PurchaseOrder.BaseDocId = qq;
                            var Goodslist = model.salesorderitemlist.Where(x => x.IsDummy == 0);
                            model.salesorderitemlist = Goodslist.ToList();

                            for (int i = 0; i < model.salesorderitemlist.Count; i++)
                            {
                                //model.salesdeliverytitemlist[i].BaseDocLink = "Y";
                                model.salesdeliverytitemlist[i].Product_Id       = model.salesorderitemlist[i].Product_id;
                                model.salesdeliverytitemlist[i].Quantity         = model.salesorderitemlist[i].Quantity;
                                model.salesdeliverytitemlist[i].Unit_Price       = model.salesorderitemlist[i].Unit_price;
                                model.salesdeliverytitemlist[i].Discount_Precent = model.salesorderitemlist[i].Discount_percent;
                                model.salesdeliverytitemlist[i].Vat_Code         = Convert.ToInt16(model.salesorderitemlist[i].Vat_Code);
                                //  model.goodreceiptitemlist[i].Freight_Loading = Convert.ToDecimal(model.SalesQuotationItemList[i].Freight_Loading);
                            }

                            if (deliveryrepository.AddNewQuotation(model.salesdelivery, model.salesdeliverytitemlist, ref ErrorMessage))
                            {
                                for (int k = 0; k < model.salesorderitemlist.Count; k++)
                                {
                                    if (model1.salesorderitemlist[k].Product_id == model.salesorderitemlist[k].Product_id && model.salesorderitemlist[k].Quantity >= model1.salesorderitemlist[k].Delivered_Qty)
                                    {
                                        model1.salesorder.Order_Status = "Closed";
                                        //model1.PurchaseOrder.TargetDocId = Convert.ToString(model.PurchaseOrder.Purchase_Order_Id);
                                        if (model1.salesorder.TargetDocId == "")
                                        {
                                            model1.salesorder.TargetDocId = Convert.ToString(model.salesorder.Sales_Order_Id);
                                        }
                                        else
                                        {
                                            model1.salesorder.TargetDocId = model1.salesorder.TargetDocId + "," + Convert.ToString(model.salesorder.Sales_Order_Id);
                                        }

                                        // model.PurchaseOrderItemsList[k].BaseDocLink = "N";
                                        model1.salesorderitemlist[k].Sale_Orderitem_Id = model1.salesorderitemlist[k].Sale_Orderitem_Id;
                                        model1.salesorderitemlist[k].Sales_Order_Id    = model1.salesorderitemlist[k].Sales_Order_Id;
                                        //model1.PurchaseOrderItemsList[j].Quoted_date = model1.PurchaseOrderItemsList[j].Quoted_date;
                                        model1.salesorderitemlist[k].Delivered_Qty    = Convert.ToInt32(model.salesorderitemlist[k].Quantity);
                                        model1.salesorderitemlist[k].Product_id       = model.salesorderitemlist[k].Product_id;
                                        model1.salesorderitemlist[k].Unit_price       = model.salesorderitemlist[k].Unit_price;
                                        model1.salesorderitemlist[k].Discount_percent = model.salesorderitemlist[k].Discount_percent;
                                        model1.salesorderitemlist[k].Vat_Code         = model.salesorderitemlist[k].Vat_Code;
                                    }
                                    else if (model1.salesorderitemlist[k].Product_id == model.salesorderitemlist[k].Product_id && model.salesorderitemlist[k].Quantity < model1.salesorderitemlist[k].Delivered_Qty)
                                    {
                                        model1.salesorder.Order_Status = "Open";
                                        model1.salesorder.TargetDocId  = Convert.ToString(model.salesorder.Sales_Order_Id);

                                        // model.PurchaseOrderItemsList[k].BaseDocLink = "N";
                                        model1.salesorderitemlist[k].Sale_Orderitem_Id = model1.salesorderitemlist[k].Sale_Orderitem_Id;
                                        model1.salesorderitemlist[k].Sales_Order_Id    = model1.salesorderitemlist[k].Sales_Order_Id;
                                        //model1.PurchaseOrderItemsList[j].Quoted_date = model1.PurchaseOrderItemsList[j].Quoted_date;
                                        model1.salesorderitemlist[k].Delivered_Qty    = Convert.ToInt32(model.salesorderitemlist[k].Quantity);
                                        model1.salesorderitemlist[k].Product_id       = model.salesorderitemlist[k].Product_id;
                                        model1.salesorderitemlist[k].Unit_price       = model.salesorderitemlist[k].Unit_price;
                                        model1.salesorderitemlist[k].Discount_percent = model.salesorderitemlist[k].Discount_percent;
                                        model1.salesorderitemlist[k].Vat_Code         = model.salesorderitemlist[k].Vat_Code;
                                    }
                                }

                                //model1.PurchaseOrder.Creating_Branch = 1;
                                model1.salesorder.Created_Branc_Id   = CurrentBranchId; //currentUser.Created_Branch_Id;
                                model1.salesorder.Created_Date       = DateTime.Now;
                                model1.salesorder.Created_User_Id    = CurrentUser.Id;  //currentUser.Created_User_Id;  //GetUserId()
                                model1.salesorder.Modified_User_Id   = CurrentUser.Id;  //currentUser.Modified_User_Id;
                                model1.salesorder.Modified_Date      = DateTime.Now;
                                model1.salesorder.Modified_Branch_Id = CurrentBranchId; //currentUser.Modified_Branch_Id;



                                deliveryrepository.Updateorder(model1.salesorder, model1.salesorderitemlist, ref ErrorMessage);
                                return(RedirectToAction("Index", "SalesDelivery"));
                            }
                            else
                            {
                                ViewBag.AppErrorMessage = ErrorMessage;
                                return(View("Error"));
                            }
                        }
                    }
                }


                else if (submitButton == "Update")
                {
                    // model.salesdelivery.Reference_Number = model.salesorder.Reference_Number;
                    model.salesdelivery.Modified_Branc_Id = CurrentBranchId; //CurrentBranchId;
                    model.salesdelivery.Modified_Date     = DateTime.Now;
                    model.salesdelivery.Modified_User_Id  = CurrentUser.Id;  //CurrentUser.Id;
                    model.salesdelivery.TargetDocId       = "1";

                    for (int i = 0; i < model.salesdeliverytitemlist.Count; i++)
                    {
                        // model.salesdeliverytitemlist[i].Sales_Delivery_Id = model.salesdelivery.Sales_Delivery_Id;
                        model.salesdeliverytitemlist[i].BaseDocLink = "N";
                    }
                    if (deliveryrepository.UpdateQuotation(model.salesdelivery, model.salesdeliverytitemlist, ref ErrorMessage))
                    {
                        return(RedirectToAction("Index", "SalesDelivery"));
                    }
                    else
                    {
                        ViewBag.AppErrorMessage = ErrorMessage;
                        return(View("Error"));
                    }
                }

                return(RedirectToAction("Index", "SalesDelivery"));
            }
            catch (OptimisticConcurrencyException ex)
            {
                ObjectStateEntry entry = ex.StateEntries[0];
                SalesDelivery    post  = entry.Entity as SalesDelivery; //Post is the entity name he is using. Rename it with yours
                Console.WriteLine("Failed to save {0} because it was changed in the database", post.Sales_Delivery_Id);
                return(View("Error"));
            }
            //catch (Exception ex)
            //{
            //    ExceptionHandler.LogException(ex);
            //    ViewBag.AppErrorMessage = ex.Message;
            //    return View("Error");
            //}
        }