private static SalesInvoice CreateInvoice(int i) { var inv = new SalesInvoice() { Date = Faker.DateTimeFaker.BirthDay(),// FastDateTime.Now.AddMinutes(r.Next(60)), Serial = i % 10000, CustomerName = Faker.NameFaker.Name(),// "Me " + i % 10, NoCase = "Me " + i % 10, Status = (byte)(i % 4), Address = Faker.LocationFaker.Street(), //"df asd sdf asdf asdf", Approved = i % 100 == 0 ? true : false }; inv.Items = new List<LineItem>(); for (int k = 0; k < 5; k++) inv.Items.Add(new LineItem() { Product = "prod " + k, Discount = 0, Price = 10 + k, QTY = 1 + k }); return inv; }
private static SalesInvoice CreateInvoice(int i) { var inv = new SalesInvoice() { Date = Faker.DateTimeFaker.BirthDay(), // FastDateTime.Now.AddMinutes(r.Next(60)), Serial = i % 10000, CustomerName = Faker.NameFaker.Name(), // "Me " + i % 10, NoCase = "Me " + i % 10, Status = (byte)(i % 4), Address = Faker.LocationFaker.Street(), //"df asd sdf asdf asdf", Approved = i % 100 == 0 ? true : false }; inv.Items = new List <LineItem>(); for (int k = 0; k < 5; k++) { inv.Items.Add(new LineItem() { Product = "prod " + k, Discount = 0, Price = 10 + k, QTY = 1 + k }); } return(inv); }
public void CanInsertSalesInvoice() { SalesInvoice newInvoice = new SalesInvoice(); var repo = new InventoryRepositoryADO(); newInvoice.CarId = 23; newInvoice.StateId = 1; newInvoice.ZipCode = "44857"; newInvoice.PurchaseTypeId = 1; newInvoice.UserEmail = "*****@*****.**"; newInvoice.ContactName = "Amy Samsonite"; newInvoice.SalesPerson = "Austyn Hill"; newInvoice.TelephoneNumber = "356-555-4321"; newInvoice.StreetAddress1 = "123 Somewhere Street"; newInvoice.StreetAddress2 = "Apt 2"; newInvoice.City = "Norwalk"; newInvoice.PurchaseTypeId = 1; newInvoice.Total = 15050M; repo.Insert(newInvoice); Assert.AreEqual(27, newInvoice.InvoiceId); }
public void Update(SalesInvoiceComplex source) { #region 取資料 #endregion #region 邏輯驗證 #endregion #region 變為Models需要之型別及邏輯資料 SalesInvoice main = GetSalesInvoiceOnUpdate(source); List <SalesInvoiceDetail> children = GetChildOnCreate(main, source); #endregion #region Models資料庫 this._Repository.Update(main); foreach (SalesInvoiceDetail item in children) { if (item.SeqNo == 0) { this._DetailRepository.Create(item); } else { this._DetailRepository.Update(item); } } this._UnitOfWork.SaveChange(); #endregion }
public IActionResult Create([FromBody] SalesInvoiceDTO salesDTO) { SalesInvoice sales = new SalesInvoice(); sales.Amount = salesDTO.Amount; sales.AmountDue = salesDTO.AmountDue; sales.CustomerIdFk = salesDTO.CustomerIdFk; sales.CustomerName = salesDTO.CustomerName; sales.Discount = salesDTO.Discount; sales.IsActive = salesDTO.IsActive; sales.ModeOfPayment = salesDTO.ModeOfPayment; sales.NotesToCustomer = sales.NotesToCustomer; sales.PaymentDate = salesDTO.PaymentDate; sales.PaymentTerm = salesDTO.PaymentTerm; sales.PO_WOno = salesDTO.PO_WOno; sales.Product = salesDTO.Product; sales.Quantity = salesDTO.Quantity; sales.Rate = salesDTO.Rate; sales.Revenue = salesDTO.Revenue; sales.SalesInvoiceDate = salesDTO.SalesInvoiceDate; sales.SalesInvoiceNo = salesDTO.SalesInvoiceNo; // sales.SalesOrdernoFk = salesDTO.SalesOrdernoFk; sales.ShippingAndHandling = salesDTO.ShippingAndHandling; sales.SubTotal = salesDTO.SubTotal; sales.Tax = salesDTO.Total; sales.Total = salesDTO.Total; //productType.CreatedBy = User.Identity.Name; var salesEntity = _salesinvoiceService.Create(sales); //var saleinvoice = _mapper.Map<PurchaseOrderDTO>(salesEntity); return(Ok(sales)); }
public Guid CreatePlanningTransaction(Session session, Guid billId, DateTime _PaymentDate, string _Name, double _Amount, string _Description, Guid _CurrencyId) { SaleInvoiceTransaction newTransaction = new SaleInvoiceTransaction(session); try { AccountingBO accountingBO = new AccountingBO(); SalesInvoice salesInvoice = session.GetObjectByKey <SalesInvoice>(billId); Currency currency = session.GetObjectByKey <Currency>(_CurrencyId); CriteriaOperator filter = new BinaryOperator("Code", DefaultAccountEnum.NAAN_DEFAULT.ToString(), BinaryOperatorType.Equal); Account account = session.FindObject <Account>(filter); if (salesInvoice == null || currency == null || account == null) { return(Guid.Empty); } newTransaction.IssueDate = _PaymentDate; newTransaction.Code = _Name; newTransaction.Amount = _Amount; newTransaction.Description = _Description; newTransaction.RowStatus = Utility.Constant.ROWSTATUS_ACTIVE; newTransaction.SalesInvoiceId = salesInvoice; newTransaction.CreateDate = DateTime.Now; newTransaction.UpdateDate = DateTime.Now; newTransaction.Save(); accountingBO.CreateGeneralJournal(session, newTransaction.TransactionId, account.AccountId, Constant.PLANNING_JOURNAL, _Name, _Amount, 0, Constant.ROWSTATUS_ACTIVE, _CurrencyId); accountingBO.CreateGeneralJournal(session, newTransaction.TransactionId, account.AccountId, Constant.PLANNING_JOURNAL, _Name, 0, _Amount, Constant.ROWSTATUS_ACTIVE, _CurrencyId); } catch (Exception) { throw; } return(newTransaction.TransactionId); }
/// <summary> /// Конвертация в накладную продаж /// </summary> /// <param name="client">Накладная продаж БД</param> /// <returns>Накладная продаж</returns> public static SalesInvoice Convert(SalesInvoiceEnt sales, bool logic = true) { if (sales != null) { CompanyCustomer companyСustomer = null; ClientUser clientUser = null; Employee employee = null; if (logic == true) { companyСustomer = Convert(sales.CompanyСustomer, false); clientUser = Convert(sales.ClientUser, false); employee = Convert(sales.Employee, false); } List <Product> products = new List <Product>(); foreach (var item in sales.ProductEnts) { products.Add(Convert(item)); } SalesInvoice ent = new SalesInvoice { ClientUser = clientUser, Date = sales.Date, ClientUserId = sales.ClientUserId, CompanyCustomerId = sales.CompanyCustomerId, EmployeeId = sales.EmployeeId, Description = sales.Description, CompanyСustomer = companyСustomer, Employee = employee, Id = sales.Id, Archiving = sales.Archiving, Product = products, Status = sales.Status }; return(ent); } return(null); }
public dynamic UnConfirm(SalesInvoice model) { try { if (!AuthenticationModel.IsAllowed("UnConfirm", Core.Constants.Constant.MenuName.SalesInvoice, Core.Constants.Constant.MenuGroupName.Transaction)) { Dictionary <string, string> Errors = new Dictionary <string, string>(); Errors.Add("Generic", "You are Not Allowed to UnConfirm record"); return(Json(new { Errors }, JsonRequestBehavior.AllowGet)); } var data = _salesInvoiceService.GetObjectById(model.Id); model = _salesInvoiceService.UnconfirmObject(data, _salesInvoiceDetailService, _deliveryOrderService, _deliveryOrderDetailService, _receiptVoucherDetailService, _receivableService); } catch (Exception ex) { LOG.Error("Unconfirm Failed", ex); Dictionary <string, string> Errors = new Dictionary <string, string>(); Errors.Add("Generic", "Error " + ex); return(Json(new { Errors }, JsonRequestBehavior.AllowGet)); } return(Json(new { model.Errors })); }
public void CreateFinancialRevenueByItem(Session session, Guid _BillId, Guid _CuntomerOrgId, Guid _OwnerOrgId, Item _Item, Unit _unit, string _AssetDim) { try{ SalesInvoice invoice = session.GetObjectByKey <SalesInvoice>(_BillId); if (invoice == null) { return; } DateTime issueDate = invoice.IssuedDate; int Day = issueDate.Day; int Month = issueDate.Month; int Year = issueDate.Year; CreateFinancialRevenueByItem(session, _BillId, _CuntomerOrgId, _OwnerOrgId, _Item, _unit, _AssetDim); }catch (Exception) { return; } }
/// <summary> /// Parse Invoices from Transaction Service response data. /// </summary> /// <param name="responseData">The transaction service response data.</param> /// <returns>Array of SalesInvoice objects parsed.</returns> internal static SalesInvoice[] GetInvoicesFromArray(ReadOnlyCollection <object> responseData) { List <SalesInvoice> invoices = new List <SalesInvoice>(); if (responseData != null) { SalesInvoice invoice; // This array parsing is required to support the legacy implementation of the PaySalesInvoice transaction service API // Each sales invoice consists of 8 properties in returned data bags const int InvoiceLenth = 8; for (int currentInvoiceStart = 0; currentInvoiceStart + InvoiceLenth <= responseData.Count; currentInvoiceStart += InvoiceLenth) { bool valid = Convert.ToBoolean(responseData[currentInvoiceStart]); // the 2nd one is comment, which we don't care for one item if (valid) { invoice = new SalesInvoice() { Id = ConvertToStringAtIndex(responseData, currentInvoiceStart + 2), AmountPaid = ConvertToDecimalAtIndex(responseData, currentInvoiceStart + 3), Amount = ConvertToDecimalAtIndex(responseData, currentInvoiceStart + 4), Account = ConvertToStringAtIndex(responseData, currentInvoiceStart + 5), Name = ConvertToStringAtIndex(responseData, currentInvoiceStart + 6), InvoiceDate = ConvertToDateTimeAtIndex(responseData, currentInvoiceStart + 7), }; invoices.Add(invoice); } } } return(invoices.ToArray()); }
public void CreateFinancialRevenueByItem(Session session, ETL_Bill bill, ETL_BillItem billItem) { SalesInvoice invoice = session.GetObjectByKey <SalesInvoice>(bill.BillId); if (invoice == null) { return; } #region customerOrg Guid customerOrgId = bill.CustomerOrgId; #endregion #region ownerOrg Guid ownerOrgId = bill.OwnerOrgId; #endregion #region ItemUnit Item item = billItem.item; if (item == null) { return; } Unit unit = billItem.unit; if (unit == null) { return; } #endregion #region AssetDim string assetDim = "VND"; #endregion #region BillId Guid billId = bill.BillId; #endregion CreateFinancialRevenueByItem(session, billId, customerOrgId, ownerOrgId, item, unit, assetDim); }
public int ConvertToSalesInvoice(SalesOrderForm orderData) { int autoId = 0; //Add sales order SalesInvoice obj = new SalesInvoice(); // obj.ID = orderData.Order.ID; obj.Cus_Id = orderData.Order.CustomerID; obj.SI_Date = orderData.Order.OrderDate; obj.SI_GST_Amt = Convert.ToDecimal(orderData.Order.TotalTax); obj.SI_No = "SI-" + (GetLastInvoiceNo() + 1); obj.SI_TandC = orderData.Order.TermsAndConditions; obj.SI_Tot_aft_Tax = Convert.ToDecimal(orderData.Order.TotalAfterTax); obj.SI_Tot_bef_Tax = Convert.ToDecimal(orderData.Order.TotalBeforeTax); obj.SI_Status = 2; obj.Exc_Inc_GST = orderData.Order.ExcIncGST; obj.IsDeleted = false; try { using (SASEntitiesEDM entities = new SASEntitiesEDM()) { if (entities.SalesInvoices.AsNoTracking().FirstOrDefault(x => x.ID == orderData.Order.ID) == null) { //obj.CreatedBy = orderData.SOModel.CreatedBy; obj.CreatedDate = DateTime.Now; entities.SalesInvoices.Add(obj); entities.SaveChanges(); autoId = obj.ID; } else { // obj.ModifiedBy = orderData.SOModel.ModifiedBy; obj.ModifiedDate = DateTime.Now; entities.Entry(obj).State = EntityState.Modified; autoId = entities.SaveChanges(); } if (autoId > 0) { SalesInvoiceDetail SODetails; if (orderData.OrderDetails != null) { foreach (SalesOrderDetailEntity SODetailEntity in orderData.OrderDetails) { SODetails = new SalesInvoiceDetail(); SODetails.SI_ID = autoId; SODetails.SI_No = SODetailEntity.SONo; SODetails.PandS_Code = SODetailEntity.PandSCode; SODetails.PandS_Name = SODetailEntity.PandSName; SODetails.SI_Amount = SODetailEntity.SOAmount; SODetails.SI_Discount = SODetailEntity.SODiscount; SODetails.SI_No = SODetailEntity.SONo; SODetails.SI_Price = Convert.ToDecimal(SODetailEntity.SOPrice); SODetails.SI_Qty = SODetailEntity.SOQty; SODetails.GST_Code = SODetailEntity.GSTCode; SODetails.GST_Rate = SODetailEntity.GSTRate; if (entities.SalesInvoiceDetails.AsNoTracking().FirstOrDefault(x => x.ID == SODetailEntity.ID) == null) { entities.SalesInvoiceDetails.Add(SODetails); entities.SaveChanges(); } else { entities.Entry(SODetails).State = EntityState.Modified; entities.SaveChanges(); } int PSId = Convert.ToInt32(SODetailEntity.SONo); if (PSId != 0) { ProductsAndService ps = entities.ProductsAndServices.SingleOrDefault(e => e.ID == PSId); if (ps != null) { ps.PandS_Qty_in_stock = ps.PandS_Qty_in_stock - SODetailEntity.SOQty; entities.SaveChanges(); } } } } SalesOrder objQ = entities.SalesOrders.Where(e => e.SO_No == orderData.Order.OrderNo ).SingleOrDefault(); if (objQ != null) { objQ.SO_Conv_to_SI = true; objQ.Conv_to_No = obj.SI_No; objQ.ModifiedDate = DateTime.Now; entities.SaveChanges(); } } } return(autoId); } catch (Exception ex) { throw ex; } }
public ActionResult Invoice(FormCollection formCollection, string Command, int id) { SalesInvoice SI = new SalesInvoice(); // UpdateModel<SalesInvoice>(SI); SI.SalesInvoiceID = Common.ParseInt(formCollection["SalesInvoiceID"]); SI.SalesInvoiceNo = (formCollection["SalesInvoiceNo"]); SI.SalesInvoiceDate = Common.ParseDate(formCollection["SalesInvoiceDate"]); SI.Reference = (formCollection["Reference"]); SI.LPOReference = (formCollection["LPOReference"]); SI.CustomerID = Common.ParseInt(formCollection["SelectedCustomerID"]); //SI.EmployeeID = Common.ParseInt(formCollection["EmployeeeID"]); SI.EmployeeID = Common.ParseInt(formCollection["SelectedEmployeeID"]); SI.CurrencyID = Common.ParseInt(formCollection["SelectedCurrencyID"]); SI.ExchangeRate = Common.ParseDecimal(formCollection["ExchangeRate"]); SI.CreditDays = 0; SI.DueDate = Common.ParseDate(formCollection["DueDate"]); SI.BranchID = Common.ParseInt(Session["branchid"].ToString());; SI.Discount = 0; SI.StatusDiscountAmt = false; SI.OtherCharges = 0; SI.PaymentTerm = ""; SI.Remarks = (formCollection["Remarks"]); SI.FYearID = Common.ParseInt(Session["fyearid"].ToString()); SI.DeliveryId = Common.ParseInt(formCollection["SelectedDeliveryId"]); SI.QuotationNumber = (formCollection["QuotationNumber"]); SI.DiscountType = Common.ParseInt(formCollection["DiscountType"]); SI.DiscountValueLC = Common.ParseDecimal(formCollection["DiscountValueLC"]); SI.DiscountValueFC = Common.ParseDecimal(formCollection["DiscountValueFC"]); BindAllMasters(); if (Session["UserID"] == null) { return(RedirectToAction("Login", "Login")); } if (Command == "Save") { //SI.SalesInvoiceDate = System.DateTime.UtcNow; var context = new SHIPPING_FinalEntities(); var salesinvoiceId = (from c in context.SalesInvoices orderby c.SalesInvoiceID descending select c.SalesInvoiceID).FirstOrDefault(); salesinvoiceId = salesinvoiceId + 1; var Gen_salesno = salesinvoiceId.ToString("00000"); var salesNo = "SI-" + Gen_salesno; SI.SalesInvoiceNo = salesNo; int i = 0; SI.AcJournalID = 0; SI.IsShipping = true; i = SM.AddSalesInvoice(SI); SI.SalesInvoiceID = i; DeleteAndInsertRecords(formCollection, i); AcJournalMaster acJournalMaster = new AcJournalMaster(); acJournalMaster.AcFinancialYearID = Convert.ToInt32(Session["fyearid"].ToString()); acJournalMaster.AcJournalID = objectSourceModel.GetMaxNumberAcJournalMasters(); acJournalMaster.VoucherType = "SI"; int max = (from c in context.AcJournalMasters select c).ToList().Count(); acJournalMaster.VoucherNo = salesNo; //(max + 1).ToString(); acJournalMaster.UserID = Convert.ToInt32(Session["UserID"].ToString()); acJournalMaster.TransDate = SI.SalesInvoiceDate; acJournalMaster.StatusDelete = false; acJournalMaster.ShiftID = null; acJournalMaster.Remarks = SI.Remarks; acJournalMaster.AcCompanyID = Convert.ToInt32(Session["AcCompanyID"].ToString()); acJournalMaster.Reference = SI.Reference; context.AcJournalMasters.Add(acJournalMaster); context.SaveChanges(); var acmasterid = acJournalMaster.AcJournalID; SI.AcJournalID = acmasterid; SM.UpdateSalesInvoice(SI); if (acmasterid > 0) { DeleteorInsertAcJounalDetails(acmasterid, i); } if (i > 0) { Session["SalesInvoiceID"] = i; SI.SalesInvoiceID = i; //return RedirectToAction("Invoice", "SalesInvoice", new { ID = i }); return(RedirectToAction("Index", "SalesInvoice")); } } else if (Command == "Update") { SI.SalesInvoiceID = id; var salesinvoice = (from d in entity.SalesInvoices where d.SalesInvoiceID == id select d).FirstOrDefault(); SI.AcJournalID = salesinvoice.AcJournalID; if (SI.AcJournalID == null) { SI.AcJournalID = 0; } int k = SM.UpdateSalesInvoice(SI); DeleteAndInsertRecords(formCollection, id); if (SI.AcJournalID > 0) { DeleteorInsertAcJounalDetails(SI.AcJournalID, id); } return(RedirectToAction("Index", "SalesInvoice")); //return RedirectToAction("Invoice", "SalesInvoice", new { ID = SI.SalesInvoiceID }); } else if (Command == "SaveInvoice") { } return(RedirectToAction("Index", "SalesInvoice")); //return View(SI); }
public BillToModel(SalesInvoice invoice) { var customer = invoice.BillToEndCustomer ?? invoice.BillToCustomer; var contactPerson = invoice.BillToEndCustomerContactPerson ?? invoice.BillToContactPerson; var contactMechanisam = invoice.BillToEndCustomerContactMechanism ?? invoice.BillToContactMechanism; var billTo = customer; var billToOrganisation = billTo as Organisation; if (billTo != null) { this.Name = billTo.PartyName; this.TaxId = billToOrganisation?.TaxNumber; } this.Contact = contactPerson?.PartyName; if (contactMechanisam is PostalAddress postalAddress) { this.Address = postalAddress.Address1; if (!string.IsNullOrWhiteSpace(postalAddress.Address2)) { this.Address = $"\n{postalAddress.Address2}"; } if (!string.IsNullOrWhiteSpace(postalAddress.Address3)) { this.Address = $"\n{postalAddress.Address3}"; } if (postalAddress.ExistCity) { this.City = postalAddress.City.Name; this.State = postalAddress.City.State?.Name; } else if (postalAddress.ExistPostalBoundary) { var postalBoundary = postalAddress.PostalBoundary; this.City = postalBoundary.Locality; this.State = postalBoundary.Region; this.PostalCode = postalBoundary.PostalCode; this.Country = postalBoundary.Country.Name; } if (this.PostalCode == null) { this.PostalCode = postalAddress.PostalCode?.Code; } if (this.Country == null) { this.Country = postalAddress.Country?.Name; } } if (contactMechanisam is ElectronicAddress electronicAddress) { this.Address = electronicAddress.ElectronicAddressString; } }
public IHttpActionResult CreateSalesInvoice(SalesInvoice salesInvoice) { using (TransactionScope transScope = new TransactionScope()) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { int minInventory = 0; //بدست آوردن حداقل موجودی برای این کالا StoreHouse currentStoreHouse = db.StoreHouses.FirstOrDefault(p => p.StoreHouseId == salesInvoice.StoreHouseId); if (currentStoreHouse != null) { Material currentMaterial = db.Materials.FirstOrDefault(p => p.MaterialId == currentStoreHouse.MaterialId); minInventory = currentMaterial != null ? currentMaterial.MinInventory : 0; } //تعداد کالا بیشتر از حداقل موجودی نباشد if (salesInvoice.Count <= 0 || salesInvoice.Count > minInventory) { return(BadRequest(Messages.MaterialNumberMustBeMoreThanMinInventory)); } db.SalesInvoices.Add(salesInvoice); db.SaveChanges(); #region Decrease Material Number //کسر کردن تعداد کالای فروخته شده از انبار bool decreeseSuccessed = this.DecreaseMaterialCount(salesInvoice.StoreHouseId, salesInvoice.Count); if (!decreeseSuccessed) { transScope.Dispose(); return(BadRequest(Messages.DecreseMaterialError)); } #endregion #region Save Accounting Document Automatically //ثبت سند حسابداری bool createDocumentSuccessed = this.RegistrationAccountingDocument(salesInvoice.Date, salesInvoice.Amount, salesInvoice.Count, salesInvoice.SalesInvoiceId); if (!createDocumentSeccessed) { transScope.Dispose(); return(BadRequest(Messages.AccountingDocumentError)); } #endregion transScope.Complete(); return(CreatedAtRoute("DefaultApi", new { id = salesInvoice.SalesInvoiceId }, salesInvoice)); } catch (TransactionException e) { transScope.Dispose(); return(BadRequest(Messages.ErrorOccured)); } } }
public void Calc_Operation() { attemptValue = 0; Account = new SubAccount(); Khazna_Moved_List = new List <KhznaMoved>(); Bank_Moved_List = new List <BankMoved>(); Sales_Order_List = new List <SalesInvoice>(); Khazna_Moved = new KhznaMoved(); Bank_Moved = new BankMoved(); Sale_Order = new SalesInvoice(); // Khazna_Moved_List = Khazna_Moved.GetKhznaMoved_ByAccountIDByDate(int.Parse(AccountDropID.SelectedValue),FromDateTxt.Text,ToDateTxt.Text); // Bank_Moved_List = Bank_Moved.BankMoved_Between_Date_ForAccount(FromDateTxt.Text,ToDateTxt.Text, int.Parse(AccountDropID.SelectedValue)); Khazna_Moved_List = db.KhznaMoved.ToList().Where(o => o.FinancialPostitionType == "عربة").ToList(); // Khazna_Moved.GetKhznaMoved_ByAccountID(int.Parse(AccountDropID.SelectedValue)); Bank_Moved_List = db.BankMoved.ToList().Where(o => o.FinancialPostitionType == "عربة").ToList(); //Bank_Moved.GetBankMoved_ByAccountID(int.Parse(AccountDropID.SelectedValue)); Sales_Order_List = db.SalesInvoice.ToList().Where(c => c.CarId == int.Parse(AccountDropID.SelectedValue)).ToList(); //Sale_Order.GetOrdersByCustID(int.Parse(AccountDropID.SelectedValue)); // SubAccount sub_Account = new SubAccount(); // sub_Account = db.SubAccount.ToList().FirstOrDefault(s => s.ID == int.Parse(AccountDropID.SelectedValue));// sub_Account.GetSubAccount_ByID(int.Parse(AccountDropID.SelectedValue)).ElementAtOrDefault(0); float Account_Sum = 0;//float.Parse(sub_Account.ABalance.ToString()); Account_Operations = new AccountOperationsGrd(); AccountOperations_List = new List <AccountOperationsGrd>(); Account_Mony_Operations_List = new List <KhznaMoved>(); Account_Operations_List = new List <AccountOperationsGrd>(); List <AccountOperationsGrd> FinalGrd = new List <AccountOperationsGrd>(); List <AccountOperationsGrd> LastGrd = new List <AccountOperationsGrd>(); // DateTime.Parse(operation.Date.ToString()).Year //DateTime RD= DateTime.ParseExact(sub_Account.RegisterDate.ToString(), "yyyy-MM-dd", null); //if (sub_Account.BType == "دائن") //{ // FinalGrd.Add(new AccountOperationsGrd() // { // OperationID = 0, // OperationDate = (DateTime)sub_Account.RegisterDate, // CreditBalance = float.Parse(sub_Account.ABalance.ToString()), // Credit_Movement = 0, // IndebtBalance = 0, // InDebt_Movement = 0, // Description = "رصيد افتتاحى", // State = sub_Account.BType // }); //} //else //{ // FinalGrd.Add(new AccountOperationsGrd() // { // OperationID = 0, // OperationDate = (DateTime)sub_Account.RegisterDate, // CreditBalance = 0, // Credit_Movement = 0, // IndebtBalance = float.Parse(sub_Account.ABalance.ToString()), // InDebt_Movement = 0, // Description = "رصيد افتتاحى", // State = sub_Account.BType // }); //} // LastGrd.Add(FinalGrd[0]); //كل العمليات مع الخزنة الخاصة بaccount foreach (var Khazna in Khazna_Moved_List) { Account_Mony_Operations_List.Add(new KhznaMoved { ID = Khazna.ID, state = Khazna.state == true ? false : true, Value = Khazna.Value, Description = Khazna.Description, AccountID = Khazna.AccountID, Date = Khazna.Date }); } //كل العمليات الواقعة على التعاملات البنكية foreach (var bank in Bank_Moved_List) { Account_Mony_Operations_List.Add(new KhznaMoved { ID = bank.ID, state = bank.state == true ? false : true, Value = bank.Value, Description = bank.Description, AccountID = bank.AccountID, Date = bank.Date }); } //فواتير البيع foreach (var Sale in Sales_Order_List) { Account_Mony_Operations_List.Add(new KhznaMoved { ID = int.Parse(Sale.Id), state = bool.Parse(Sale.PurchaseType.ToString()), Value = decimal.Parse(Sale.Total.ToString()), Description = bool.Parse(Sale.PurchaseType.ToString()) ? "اذن صرف" : "مرتجع بضاعة", AccountID = Sale.CarId, Date = DateTime.Parse(Sale.InvoiceDate.ToString(), CultureInfo.CreateSpecificCulture("ar-EG")) }); } // Account_Mony_Operations_List.OrderBy(a => a.Date); //Concatination////////////////////////////////////////////////////////////////////////////////////////////////////////// ConcatenationLists(Account_Mony_Operations_List, Account_Operations_List, Account_Sum); //الشغل على Account_Operations_List int i = 1; Account_Operations_List = Account_Operations_List.OrderBy(o => o.OperationDate).ToList(); FinalGrd.Add(Account_Operations_List[0]); Account_Operations_List.RemoveAt(0); attemptValue = FinalGrd[0].State == "دائن" ? FinalGrd[0].CreditBalance : FinalGrd[0].IndebtBalance; string CurrentState = ""; foreach (var operation in Account_Operations_List) { //CurrentState = FinalGrd[i - 1].State == "مدين" ? Math.Sign(attemptValue + operation.InDebt_Movement - operation.Credit_Movement) >= 0 ? "مدين" : "دائن" : // Math.Sign(attemptValue + operation.Credit_Movement- operation.InDebt_Movement) >= 0 ? "دائن" : "مدين"; if (FinalGrd[i - 1].State == "مدين") { if (operation.InDebt_Movement > 0) { attemptValue = Math.Abs(attemptValue + operation.InDebt_Movement - operation.Credit_Movement); if (attemptValue > 0) { CurrentState = "مدين"; } else { CurrentState = "دائن"; } } else { attemptValue = (attemptValue - operation.Credit_Movement + operation.InDebt_Movement); if (attemptValue > 0) { CurrentState = "مدين"; } else { CurrentState = "دائن"; attemptValue = -attemptValue; } } } else { if (operation.Credit_Movement > 0) { attemptValue = Math.Abs(attemptValue + operation.Credit_Movement - operation.InDebt_Movement); if (attemptValue > 0) { CurrentState = "دائن"; } else { CurrentState = "مدين"; } } else { attemptValue = (attemptValue - operation.InDebt_Movement + operation.Credit_Movement); if (attemptValue > 0) { CurrentState = "دائن"; } else { CurrentState = "مدين"; attemptValue = -attemptValue; } } } if (CurrentState == "دائن") { FinalGrd.Add(new AccountOperationsGrd() { CreditBalance = attemptValue, Credit_Movement = operation.Credit_Movement, IndebtBalance = operation.IndebtBalance, InDebt_Movement = operation.InDebt_Movement, Description = operation.Description, OperationDate = operation.OperationDate, OperationID = operation.OperationID, State = "دائن", OperationType = operation.OperationType }); } else { //if (operation.InDebt_Movement > 0) //{ // attemptValue = Math.Abs(attemptValue + operation.InDebt_Movement - operation.Credit_Movement); //} //else //{ // attemptValue = Math.Abs(attemptValue + operation.Credit_Movement - operation.InDebt_Movement); //} FinalGrd.Add(new AccountOperationsGrd() { CreditBalance = operation.CreditBalance, Credit_Movement = operation.Credit_Movement, IndebtBalance = attemptValue,// operation.IndebtBalance, InDebt_Movement = operation.InDebt_Movement, Description = operation.Description, OperationDate = operation.OperationDate, OperationID = operation.OperationID, State = "مدين", OperationType = operation.OperationType }); } i++; } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Account_Operations_List = Account_Operations_List.OrderBy(o => o.OperationDate).ToList(); string fromdate = FromDateTxt.Text; //DateTime.Parse(FromDateTxt.Text).Year + "-" + DateTime.Parse(FromDateTxt.Text).Month + "-" + DateTime.Parse(FromDateTxt.Text).Day; string Todate = ToDateTxt.Text; //DateTime.Parse(ToDateTxt.Text).Year + "-" + DateTime.Parse(ToDateTxt.Text).Month + "-" + DateTime.Parse(ToDateTxt.Text).Day; var mydate = DateTime.Parse(fromdate, CultureInfo.CreateSpecificCulture("ar-EG")); var mydateTo = DateTime.Parse(Todate, CultureInfo.CreateSpecificCulture("ar-EG")); LastGrd.Add(FinalGrd.Where(o => o.OperationDate <= mydate).LastOrDefault()); if (LastGrd.Last() == null) { LastGrd.Remove(LastGrd.Last()); } LastGrd.AddRange(FinalGrd.Where(o => o.OperationDate >= mydate & o.OperationDate <= mydateTo)); AccountGrd.DataSource = LastGrd;// FinalGrd.Where(o => o.OperationDate < DateTime.Parse(fromdate)).LastOrDefault() && o.OperationDate >= DateTime.Parse(fromdate) & o.OperationDate <= DateTime.Parse(Todate) ); //Account_Operations_List.Where(o=>o.OperationDate >= DateTime.Parse(FromDateTxt.Text) & o.OperationDate <= DateTime.Parse(ToDateTxt.Text)); AccountGrd.DataBind(); }
public bool ValidCreateObject(SalesInvoice salesInvoice, IDeliveryOrderService _deliveryOrderService) { VCreateObject(salesInvoice, _deliveryOrderService); return(isValid(salesInvoice)); }
public int UpdationInvoice(SalesInvoiceForm invoiceData) { try { using (SDNSalesDBEntities entities = new SDNSalesDBEntities()) { SalesInvoice obj = entities.SalesInvoices.Where(e => e.SI_No == invoiceData.Invoice.InvoiceNo ).SingleOrDefault(); if (obj != null) { //obj.ID = invoiceData.Invoice.ID; obj.Cus_Id = invoiceData.Invoice.CustomerID; obj.SI_Date = invoiceData.Invoice.InvoiceDate; obj.SI_GST_Amt = Convert.ToDecimal(invoiceData.Invoice.TotalTax); obj.SI_No = invoiceData.Invoice.InvoiceNo; obj.SI_TandC = invoiceData.Invoice.TermsAndConditions; obj.SI_Tot_aft_Tax = Convert.ToDecimal(invoiceData.Invoice.TotalAfterTax); obj.SI_Tot_bef_Tax = Convert.ToDecimal(invoiceData.Invoice.TotalBeforeTax); //obj.SI_Pmt_Due_Date = invoiceData.Invoice.PaymentDueDate; obj.Cus_PO_No = invoiceData.Invoice.OurSONo; obj.SI_Credit_Days = invoiceData.Invoice.CreditDays; obj.Salesman = invoiceData.Invoice.SalesmanID; obj.Exc_Inc_GST = invoiceData.Invoice.ExcIncGST; obj.ModifiedDate = DateTime.Now; entities.SaveChanges(); } invoiceData.Invoice.ID = obj.ID; CreateCreditNote(invoiceData); var objSales = entities.SalesInvoiceDetails.Where (e => e.SI_ID == obj.ID).ToList(); if (objSales != null) { foreach (var item in objSales) { int PSId = Convert.ToInt32(item.SI_No); if (PSId != 0) { ProductsAndService ps = entities.ProductsAndServices.SingleOrDefault(e => e.ID == PSId); if (ps != null) { ps.PandS_Qty_in_stock = ps.PandS_Qty_in_stock + item.SI_Qty; entities.SaveChanges(); } } entities.SalesInvoiceDetails.Remove(item); entities.SaveChanges(); } } SalesInvoiceDetail SIDetails; if (invoiceData.InvoiceDetails != null) { foreach (SalesInvoiceDetailEntity SIDetailEntity in invoiceData.InvoiceDetails) { SIDetails = new SalesInvoiceDetail(); SIDetails.SI_ID = obj.ID; SIDetails.SI_No = SIDetailEntity.SINo; SIDetails.PandS_Code = SIDetailEntity.PandSCode; SIDetails.PandS_Name = SIDetailEntity.PandSName; SIDetails.SI_Amount = SIDetailEntity.SIAmount; SIDetails.SI_Discount = SIDetailEntity.SIDiscount; SIDetails.SI_No = SIDetailEntity.SINo; SIDetails.SI_Price = Convert.ToDecimal(SIDetailEntity.SIPrice); SIDetails.SI_Qty = SIDetailEntity.SIQty; SIDetails.GST_Code = SIDetailEntity.GSTCode; SIDetails.GST_Rate = SIDetailEntity.GSTRate; entities.SalesInvoiceDetails.Add(SIDetails); entities.SaveChanges(); int PSId = Convert.ToInt32(SIDetailEntity.SINo); if (PSId != 0) { ProductsAndService ps = entities.ProductsAndServices.SingleOrDefault(e => e.ID == PSId); if (ps != null) { ps.PandS_Qty_in_stock = ps.PandS_Qty_in_stock - SIDetailEntity.SIQty; entities.SaveChanges(); } } } } return(obj.ID); } } catch (Exception ex) { throw ex; } }
public Task Add(SalesInvoice model) { return(Client.ExecutePayload(ByIdUrl, model)); }
private void DoLengthyOperation(int id) { SalesInvoice invoice = _salesService.GetById(id); AsyncManager.OutstandingOperations.Decrement(); }
public int SavePaymentFromCustomer(PaymentFromCustomerForm psForm) { int autoId = 0; try { using (SASEntitiesEDM entities = new SASEntitiesEDM()) { foreach (var item in psForm.PaymentFromCustomerDetails) { //CashAndBankTransaction obj = entities.CashAndBankTransactions.Where(e => e.SO_CN_PO_DN_No == item.SalesNo).SingleOrDefault(); //if(obj!=null) //{ // // obj.Acc_Id = psForm.PaymentToSupplier.AccountId; // obj.Amount = psForm.PaymentToSupplier.Amount; // //saving details entity // obj.SO_CN_PO_DN_No = item.SalesNo; // obj.SO_CN_PO_DN_Date = item.SalesDate; // obj.SO_CN_PO_DN_Amt = item.SalesAmount; // obj.Amt_Due = item.AmountDue; // obj.Amt_Refunded = item.AmountAdjusted; // obj.Discount = item.Discount; // obj.UpdatedBy = 0; // obj.UpdatedDate = DateTime.Now.Date; // entities.SaveChanges(); //} //else //{ CashAndBankTransaction obj = new CashAndBankTransaction(); obj.Cus_Sup_Id = psForm.PaymentFromCustomer.CustomerID; obj.Acc_Id = psForm.PaymentFromCustomer.AccountId; obj.Amount = psForm.PaymentFromCustomer.Amount; obj.Cash_Cheque_No = psForm.PaymentFromCustomer.CashChequeNo; obj.Cash_Cheque_Date = psForm.PaymentFromCustomer.Date; obj.Remarks = psForm.PaymentFromCustomer.Remarks; obj.Type = "C"; obj.Is_Cheque = psForm.PaymentFromCustomer.IsCheque; //saving details entity obj.SO_CN_PO_DN_No = item.SalesNo; obj.SO_CN_PO_DN_Date = item.SalesDate; obj.SO_CN_PO_DN_Amt = item.SalesAmount; obj.Amt_Due = item.AmountDue - item.AmountAdjusted; obj.Amt_Refunded = item.AmountAdjusted; obj.Discount = item.Discount; obj.UpdatedBy = 0; obj.UpdatedDate = DateTime.Now.Date; entities.CashAndBankTransactions.Add(obj); entities.SaveChanges(); SalesInvoice invoice = entities.SalesInvoices.Where(e => e.SI_No == item.SalesNo).FirstOrDefault(); SalesOrder order = entities.SalesOrders.Where(e => e.SO_No == item.SalesNo).FirstOrDefault(); if (invoice != null) { if (item.AmountAdjusted == item.SalesAmount) { invoice.SI_Status = Convert.ToByte(PI_Status.Paid); entities.SaveChanges(); } else { invoice.SI_Status = Convert.ToByte(PI_Status.UnPaid); entities.SaveChanges(); } } else if (order != null) { order.SO_Status = Convert.ToByte(PO_Status.Collected); entities.SaveChanges(); } //} } } } catch (Exception ex) { throw ex; } return(autoId); }
public bool ValidDeleteObject(SalesInvoice salesInvoice, ISalesInvoiceDetailService _salesInvoiceDetailService) { salesInvoice.Errors.Clear(); VDeleteObject(salesInvoice, _salesInvoiceDetailService); return(isValid(salesInvoice)); }
public bool ValidUpdateObject(SalesInvoice salesInvoice, IDeliveryOrderService _deliveryOrderService, ISalesInvoiceDetailService _salesInvoiceDetailService) { salesInvoice.Errors.Clear(); VUpdateObject(salesInvoice, _deliveryOrderService, _salesInvoiceDetailService); return(isValid(salesInvoice)); }
public void Add(SalesInvoice salesInvoice) { _set.Add(salesInvoice); }
/// <summary> /// This method is used to add or edit purchase invoice /// </summary> /// <param name="invoiceData"></param> /// <returns></returns> public int AddUpdateInvoice(SalesInvoiceForm invoiceData) { int autoId = 0; //Add purchase invoice SalesInvoice obj = new SalesInvoice(); obj.ID = invoiceData.Invoice.ID; obj.Cus_Id = invoiceData.Invoice.CustomerID; obj.SI_Date = invoiceData.Invoice.InvoiceDate; obj.SI_GST_Amt = Convert.ToDecimal(invoiceData.Invoice.TotalTax); obj.SI_No = invoiceData.Invoice.InvoiceNo; obj.SI_TandC = invoiceData.Invoice.TermsAndConditions; obj.SI_Tot_aft_Tax = Convert.ToDecimal(invoiceData.Invoice.TotalAfterTax); obj.SI_Tot_bef_Tax = Convert.ToDecimal(invoiceData.Invoice.TotalBeforeTax); obj.Cus_PO_No = invoiceData.Invoice.OurSONo; obj.SI_Credit_Days = invoiceData.Invoice.CreditDays; obj.Salesman = invoiceData.Invoice.SalesmanID; obj.Exc_Inc_GST = invoiceData.Invoice.ExcIncGST; obj.SI_Status = Convert.ToByte(SI_Status.UnPaid); obj.IsDeleted = false; try { using (SDNSalesDBEntities entities = new SDNSalesDBEntities()) { if (entities.SalesInvoices.AsNoTracking().FirstOrDefault(x => x.ID == invoiceData.Invoice.ID) == null) { //obj.CreatedBy = invoiceData.SIModel.CreatedBy; obj.CreatedDate = DateTime.Now; entities.SalesInvoices.Add(obj); entities.SaveChanges(); autoId = obj.ID; } else { // obj.ModifiedBy = invoiceData.SIModel.ModifiedBy; obj.ModifiedDate = DateTime.Now; entities.Entry(obj).State = EntityState.Modified; autoId = entities.SaveChanges(); } invoiceData.Invoice.ID = autoId; CreateCreditNote(invoiceData); if (autoId > 0) { SalesInvoiceDetail SIDetails; if (invoiceData.InvoiceDetails != null) { foreach (SalesInvoiceDetailEntity SIDetailEntity in invoiceData.InvoiceDetails) { SIDetails = new SalesInvoiceDetail(); SIDetails.SI_ID = autoId; SIDetails.SI_No = SIDetailEntity.SINo; SIDetails.PandS_Code = SIDetailEntity.PandSCode; SIDetails.PandS_Name = SIDetailEntity.PandSName; SIDetails.SI_Amount = SIDetailEntity.SIAmount; SIDetails.SI_Discount = SIDetailEntity.SIDiscount; SIDetails.SI_No = SIDetailEntity.SINo; SIDetails.SI_Price = Convert.ToDecimal(SIDetailEntity.SIPrice); SIDetails.SI_Qty = SIDetailEntity.SIQty; SIDetails.GST_Code = SIDetailEntity.GSTCode; SIDetails.GST_Rate = SIDetailEntity.GSTRate; if (entities.SalesInvoiceDetails.AsNoTracking().FirstOrDefault(x => x.ID == SIDetailEntity.ID) == null) { entities.SalesInvoiceDetails.Add(SIDetails); entities.SaveChanges(); } else { entities.Entry(SIDetails).State = EntityState.Modified; entities.SaveChanges(); } int SIId = Convert.ToInt32(SIDetailEntity.SINo); ProductsAndService ps = entities.ProductsAndServices.SingleOrDefault(e => e.ID == SIId); if (ps != null) { if (ps.PandS_Qty_in_stock != null || ps.PandS_Qty_in_stock >= 0) { ps.PandS_Qty_in_stock = ps.PandS_Qty_in_stock - SIDetailEntity.SIQty; entities.SaveChanges(); } } } } } } return(autoId); } catch (Exception ex) { throw ex; } }
public void CreateFinancialRevenueByItem(Session session, Guid _BillId, Guid _CustomerOrgId, Guid _OwnerOrgId, Item _Item, Unit _Unit, int Day, int Month, int Year, string _AssetDim) { FinancialRevenueByItem_Fact result = new FinancialRevenueByItem_Fact(session); try { SalesInvoice invoice = session.GetObjectByKey <SalesInvoice>(_BillId); if (!Util.IsExistXpoObject <InvoiceDim>(session, "RefId", _BillId)) { InvoiceDim invoiceDim = new InvoiceDim(session); invoiceDim.RefId = _BillId; invoiceDim.Code = invoice.Code; invoiceDim.Name = ""; invoiceDim.Description = ""; invoiceDim.IssueDate = invoice.IssuedDate; invoiceDim.RowStatus = Constant.ROWSTATUS_ACTIVE; invoiceDim.Save(); } if (!Util.IsExistXpoObject <DayDim>(session, "Name", Day.ToString())) { DayDim dayDim = new DayDim(session); dayDim.Description = Day.ToString(); dayDim.Name = Day.ToString(); dayDim.RowStatus = Constant.ROWSTATUS_ACTIVE; dayDim.Save(); } if (!Util.IsExistXpoObject <MonthDim>(session, "Name", Month.ToString())) { MonthDim MonthDim = new MonthDim(session); MonthDim.Description = Month.ToString(); MonthDim.Name = Month.ToString(); MonthDim.RowStatus = Constant.ROWSTATUS_ACTIVE; MonthDim.Save(); } if (!Util.IsExistXpoObject <YearDim>(session, "Name", Year.ToString())) { YearDim YearDim = new YearDim(session); YearDim.Description = Year.ToString(); YearDim.Name = Year.ToString(); YearDim.RowStatus = Constant.ROWSTATUS_ACTIVE; YearDim.Save(); } if (!Util.IsExistXpoObject <FinancialAssetDim>(session, "Name", _AssetDim)) { FinancialAssetDim assetDim = new FinancialAssetDim(session); assetDim.Name = _AssetDim; assetDim.Description = _AssetDim; assetDim.RowStatus = Constant.ROWSTATUS_ACTIVE; assetDim.Save(); } if (!Util.IsExistXpoObject <ItemDim>(session, "RefId", _Item.ItemId)) { ItemDim itemDim = new ItemDim(session); itemDim.RefId = _Item.ItemId; itemDim.Code = _Item.Code; itemDim.Name = _Item.Name; itemDim.Description = _Item.Description; itemDim.RowStatus = Constant.ROWSTATUS_ACTIVE; itemDim.Save(); } if (!Util.IsExistXpoObject <UnitDim>(session, "RefId", _Unit.UnitId)) { UnitDim unitDim = new UnitDim(session); unitDim.RefId = _Unit.UnitId; unitDim.Code = _Unit.Code; unitDim.Name = _Unit.Name; unitDim.Description = _Unit.Description; unitDim.RowStatus = Constant.ROWSTATUS_ACTIVE; unitDim.Save(); } if (!Util.IsExistXpoObject <CustomerOrgDim>(session, "RefId", _CustomerOrgId)) { Organization customerOrg = session.GetObjectByKey <Organization>(_CustomerOrgId); if (customerOrg != null) { CustomerOrgDim customerOrgDim = new CustomerOrgDim(session); customerOrgDim.RefId = _CustomerOrgId; customerOrgDim.Code = customerOrg.Code; customerOrgDim.Name = customerOrg.Name; customerOrgDim.Description = customerOrg.Description; customerOrgDim.RowStatus = Constant.ROWSTATUS_ACTIVE; customerOrgDim.Save(); } } if (!Util.IsExistXpoObject <OwnerOrgDim>(session, "RefId", _OwnerOrgId)) { Organization ownerOrg = session.GetObjectByKey <Organization>(_OwnerOrgId); if (ownerOrg != null) { OwnerOrgDim ownerOrgDim = new OwnerOrgDim(session); ownerOrgDim.RefId = _OwnerOrgId; ownerOrgDim.Code = ownerOrg.Code; ownerOrgDim.Name = ownerOrg.Name; ownerOrgDim.Description = ownerOrg.Description; ownerOrgDim.RowStatus = Constant.ROWSTATUS_ACTIVE; ownerOrgDim.Save(); } } Util util = new Util(); result.InvoiceDimId = util.GetXpoObjectByFieldName <InvoiceDim, Guid>(session, "RefId", _BillId, DevExpress.Data.Filtering.BinaryOperatorType.Equal); result.FinancialAssetDimId = Util.getXpoObjectByName <FinancialAssetDim>(session, _AssetDim); result.DayDimId = Util.getXpoObjectByName <DayDim>(session, Day.ToString()); result.MonthDimId = Util.getXpoObjectByName <MonthDim>(session, Month.ToString()); result.YearDimId = Util.getXpoObjectByName <YearDim>(session, Year.ToString()); result.ItemDimId = util.GetXpoObjectByFieldName <ItemDim, string>(session, "Code", _Item.Code, DevExpress.Data.Filtering.BinaryOperatorType.Equal); result.UnitDimId = util.GetXpoObjectByFieldName <UnitDim, string>(session, "Code", _Unit.Code, DevExpress.Data.Filtering.BinaryOperatorType.Equal); result.CustomerOrgDimId = util.GetXpoObjectByFieldName <CustomerOrgDim, Guid>(session, "RefId", _CustomerOrgId, DevExpress.Data.Filtering.BinaryOperatorType.Equal); result.OwnerOrgDimId = util.GetXpoObjectByFieldName <OwnerOrgDim, Guid>(session, "RefId", _OwnerOrgId, DevExpress.Data.Filtering.BinaryOperatorType.Equal); result.Save(); } catch (Exception) { } }
public void Delete(SalesInvoice salesInvoice) { throw new NotImplementedException(); }
public bool isValid(SalesInvoice obj) { bool isValid = !obj.Errors.Any(); return(isValid); }
public int ConvertToSalesInvoice(SalesQuotationForm quotationData) { int autoId = 0; //Add purchase quotation SalesInvoice obj = new SalesInvoice(); // obj.ID = quotationData.Quotation.ID; obj.Cus_Id = quotationData.Quotation.CustomerID; obj.SI_Date = quotationData.Quotation.QuotationDate; obj.Salesman = quotationData.Quotation.SalesmanID; obj.SI_GST_Amt = Convert.ToDecimal(quotationData.Quotation.TotalTax); obj.SI_No = "SI-" + (GetLastInvoiceNo() + 1); obj.SI_TandC = quotationData.Quotation.TermsAndConditions; obj.SI_Tot_aft_Tax = Convert.ToDecimal(quotationData.Quotation.TotalAfterTax); obj.SI_Tot_bef_Tax = Convert.ToDecimal(quotationData.Quotation.TotalBeforeTax); obj.SI_Status = Convert.ToByte(SI_Status.UnPaid); obj.Exc_Inc_GST = quotationData.Quotation.ExcIncGST; obj.IsDeleted = false; try { using (SASEntitiesEDM entities = new SASEntitiesEDM()) { if (entities.SalesInvoices.AsNoTracking().FirstOrDefault(x => x.ID == quotationData.Quotation.ID) == null) { //obj.CreatedBy = quotationData.SQModel.CreatedBy; obj.CreatedDate = DateTime.Now; entities.SalesInvoices.Add(obj); entities.SaveChanges(); autoId = obj.ID; } else { // obj.ModifiedBy = quotationData.SQModel.ModifiedBy; obj.ModifiedDate = DateTime.Now; entities.Entry(obj).State = EntityState.Modified; autoId = entities.SaveChanges(); } if (autoId > 0) { SalesInvoiceDetail SQDetails; if (quotationData.QuotationDetails != null) { foreach (SalesQuotationDetailEntity SQDetailEntity in quotationData.QuotationDetails) { SQDetails = new SalesInvoiceDetail(); SQDetails.SI_ID = autoId; SQDetails.SI_No = SQDetailEntity.SQNo; SQDetails.PandS_Code = SQDetailEntity.PandSCode; SQDetails.PandS_Name = SQDetailEntity.PandSName; SQDetails.SI_Amount = SQDetailEntity.SQAmount; SQDetails.SI_Discount = SQDetailEntity.SQDiscount; SQDetails.SI_No = SQDetailEntity.SQNo; SQDetails.SI_Price = Convert.ToDecimal(SQDetailEntity.SQPrice); SQDetails.SI_Qty = SQDetailEntity.SQQty; SQDetails.GST_Code = SQDetailEntity.GSTCode; SQDetails.GST_Rate = SQDetailEntity.GSTRate; if (entities.SalesInvoiceDetails.AsNoTracking().FirstOrDefault(x => x.ID == SQDetailEntity.ID) == null) { entities.SalesInvoiceDetails.Add(SQDetails); entities.SaveChanges(); } else { entities.Entry(SQDetails).State = EntityState.Modified; entities.SaveChanges(); } } } SalesQuotation objQ = entities.SalesQuotations.Where(e => e.SQ_No == quotationData.Quotation.QuotationNo ).SingleOrDefault(); if (objQ != null) { objQ.SQ_Conv_to_SI = true; objQ.ModifiedDate = DateTime.Now; objQ.Conv_to_No = obj.SI_No; entities.SaveChanges(); } } } return(autoId); } catch (Exception ex) { throw ex; } }
private void Button_Click(object sender, RoutedEventArgs e) { try { int result; if (!int.TryParse(Quantity.Text, out result)) { MessageBox.Show("This Quantity is not Valid"); } else if (CategoryCombo.SelectedIndex != -1 && ItemCombo.SelectedIndex != -1 && CustomerCombo.SelectedIndex != -1 && KindOfPay.SelectedIndex != -1 && KindOfinvoice.SelectedIndex != -1 && SalesManCombo.SelectedIndex != -1 && result > 0) { int Cus_Id = int.Parse(CustomerCombo.SelectedValue.ToString()); int Saller_Id = int.Parse(SalesManCombo.SelectedValue.ToString()); var custommer = context.Customers.Where(custome => custome.ID == Cus_Id).FirstOrDefault(); var Seller = context.salesmans.Where(saler => saler.ID == Saller_Id).FirstOrDefault(); int Item_Id = int.Parse(ItemCombo.SelectedValue.ToString()); var Item = context.Items.Where(it => it.ID == Item_Id).FirstOrDefault(); ListViewSell list = ReturnsValues(); if (CreateObject == false) { SellInv = new SalesInvoice() { TotalPrice = list.TotalPrice, Date = DateTime.Now, KindOfInvoice = KeyByValue(invoicedata.KindOfInvoice, list.KindOfInvoice.ToString()), TypeOfPay = KeyByValue(invoicedata.KindOfPay, list.KindOfPay.ToString()), Customer = custommer, salesman = Seller, ItemInSalesInvoices = new List <ItemInSalesInvoice>() }; CreateObject = true; } ItemInSalesInvoice salesitem = new ItemInSalesInvoice() { Item = Item, SalesInvoice = SellInv, Quantity = list.Quantity, }; SellInv.ItemInSalesInvoices.Add(salesitem); Item.ItemInSalesInvoices.Add(salesitem); custommer.SalesInvoices.Add(SellInv); Seller.SalesInvoices.Add(SellInv); context.SaveChanges(); NoOfInvoice.Text = (context.SalesInvoices.Where(sal => sal.ID == SellInv.ID).Select(re => re.ID).First()).ToString(); bool KindInvoice = KeyByValue(invoicedata.KindOfInvoice, list.KindOfInvoice.ToString()); bool KindPay = KeyByValue(invoicedata.KindOfPay, list.KindOfPay.ToString()); salesMan.Text = SalesManCombo.Text; if (KindInvoice == true && KindPay == true) { TotalValues += list.TotalPrice; } Total.Text = TotalValues.ToString(); list.ID = context.SalesInvoices.Where(inv => inv.ID == SellInv.ID).Select(se => se.ID).FirstOrDefault(); ListView.Items.Add(list); Edit.IsEnabled = true; Delete.IsEnabled = true; SalesManCombo.IsEnabled = false; CustomerCombo.IsEnabled = false; KindOfinvoice.IsEnabled = false; KindOfPay.IsEnabled = false; Quantity.Text = ""; } else { MessageBox.Show("add All Data And Number Should Be Positive"); } } catch { MessageBox.Show("Enter Valid Data"); } }
public int UpdateAdjustCreditNote(AdjustCreditNoteForm psForm) { try { using (SDNSalesDBEntities entities = new SDNSalesDBEntities()) { foreach (var item in psForm.AdjustCreditNoteDetails) { if (item.CheckAmountAdjusted == true) { CashAndBankTransaction obj = entities.CashAndBankTransactions.Where(e => e.SO_CN_PO_DN_No == item.SalesNo).SingleOrDefault(); if (obj != null) { obj.Acc_Id = psForm.AdjustCreditNote.AccountId; obj.Amount = psForm.AdjustCreditNote.Amount; //obj.Cash_Cheque_No = psForm.AdjustCreditNote.CashChequeNo; obj.Cash_Cheque_Date = psForm.AdjustCreditNote.Date; obj.Remarks = psForm.AdjustCreditNote.Remarks; obj.Is_Cheque = psForm.AdjustCreditNote.IsCheque; //saving details entity obj.SO_CN_PO_DN_No = item.SalesNo; obj.SO_CN_PO_DN_Date = item.SalesDate; obj.SO_CN_PO_DN_Amt = item.SalesAmount; obj.Amt_Due = item.AmountDue; obj.Amt_Refunded = item.AmountAdjusted; obj.Discount = item.Discount; obj.DN_CN_No = psForm.AdjustCreditNote.CreditNoteNo; obj.UpdatedBy = 0; obj.UpdatedDate = DateTime.Now.Date; entities.SaveChanges(); if (item.AmountDue == 0 && item.AmountAdjusted == item.SalesAmount) { SalesInvoice invoice = entities.SalesInvoices.Where(e => e.SI_No == item.SalesNo).SingleOrDefault(); //SalesOrder order = entities.SalesOrders.Where(e => e.PO_No == item.SalesNo).SingleOrDefault(); if (invoice != null) { invoice.SI_Status = Convert.ToByte(SI_Status.Paid); entities.SaveChanges(); } //else if (order != null) //{ //} CreditNote debit = entities.CreditNotes.Where(e => e.CN_No == psForm.AdjustCreditNote.CreditNoteNo).SingleOrDefault(); if (debit != null) { debit.CN_Status = Convert.ToByte(CN_Status.Adjusted); entities.SaveChanges(); } } } else { CashAndBankTransaction cashbankobj = new CashAndBankTransaction() { Acc_Id = psForm.AdjustCreditNote.AccountId, Amount = psForm.AdjustCreditNote.Amount, Cash_Cheque_Date = psForm.AdjustCreditNote.Date, Remarks = psForm.AdjustCreditNote.Remarks, Is_Cheque = psForm.AdjustCreditNote.IsCheque, SO_CN_PO_DN_No = item.SalesNo, SO_CN_PO_DN_Date = item.SalesDate, SO_CN_PO_DN_Amt = item.SalesAmount, Amt_Due = item.AmountDue, Amt_Refunded = item.AmountAdjusted, Discount = item.Discount, UpdatedBy = 0, UpdatedDate = DateTime.Now.Date, Cus_Sup_Id = psForm.AdjustCreditNote.CustomerID, DN_CN_No = psForm.AdjustCreditNote.CreditNoteNo, Type = "S" }; entities.CashAndBankTransactions.Add(cashbankobj); entities.SaveChanges(); if (item.AmountDue == 0 && item.AmountAdjusted == item.SalesAmount) { SalesInvoice invoice = entities.SalesInvoices.Where(e => e.SI_No == item.SalesNo).SingleOrDefault(); //SalesOrder order = entities.SalesOrders.Where(e => e.PO_No == item.SalesNo).SingleOrDefault(); if (invoice != null) { invoice.SI_Status = Convert.ToByte(SI_Status.Paid); entities.SaveChanges(); } //else if (order != null) //{ //} } CreditNote debit = entities.CreditNotes.Where(e => e.CN_No == psForm.AdjustCreditNote.CreditNoteNo).SingleOrDefault(); if (debit != null) { debit.CN_Status = Convert.ToByte(CN_Status.Adjusted); entities.SaveChanges(); } } } } } } catch (Exception ex) { throw ex; } return(psForm.AdjustCreditNote.ID); }