public IHttpActionResult PostPurchase([FromBody] MvcPurchaseViewModel PurchaseViewModel) { using (DBEntities entities = new DBEntities()) { using (DbContextTransaction transaction = entities.Database.BeginTransaction(System.Data.IsolationLevel.ReadCommitted)) { try { PurchaseOrderTable _PTable = new PurchaseOrderTable(); _PTable.CompanyId = PurchaseViewModel.CompanyId; _PTable.UserId = PurchaseViewModel.UserId; _PTable.PurchaseID = PurchaseViewModel.PurchaseId.ToString(); _PTable.VenderId = PurchaseViewModel.VenderId; _PTable.PurchaseRefNumber = PurchaseViewModel.PurchaseRefNumber; _PTable.PurchaseDate = Convert.ToDateTime(PurchaseViewModel.PurchaseDate); _PTable.PurchaseDueDate = PurchaseViewModel.PurchaseDueDate; _PTable.PurchaseSubTotal = PurchaseViewModel.PurchaseSubTotal; _PTable.PurchaseDiscountAmount = PurchaseViewModel.PurchaseDiscountAmount; _PTable.PurchaseTotoalAmount = PurchaseViewModel.PurchaseTotoalAmount; _PTable.PurchaseVenderNote = PurchaseViewModel.PurchaseVenderNote; _PTable.Vat6 = PurchaseViewModel.Vat6; _PTable.Vat21 = PurchaseViewModel.Vat21; _PTable.Status = "open"; _PTable.Type = StatusEnum.Goods.ToString(); _PTable = entities.PurchaseOrderTables.Add(_PTable); entities.SaveChanges(); if (PurchaseViewModel.PurchaseOrderList != null) { foreach (PurchaseOrderDetailsTable item in PurchaseViewModel.PurchaseOrderList) { PurchaseOrderDetailsTable purchadeDetail = new PurchaseOrderDetailsTable(); purchadeDetail.PurchaseOrderDetailsId = item.PurchaseOrderDetailsId; purchadeDetail.PurchaseItemId = item.PurchaseItemId; purchadeDetail.PurchaseDescription = item.PurchaseDescription; purchadeDetail.PurchaseQuantity = item.PurchaseQuantity; purchadeDetail.PurchaseItemRate = item.PurchaseItemRate; purchadeDetail.PurchaseTotal = item.PurchaseTotal; purchadeDetail.Type = item.Type; purchadeDetail.RowSubTotal = item.RowSubTotal; purchadeDetail.PurchaseVatPercentage = item.PurchaseVatPercentage; purchadeDetail.PurchaseId = _PTable.PurchaseOrderID; purchadeDetail.ServiceDate = item.ServiceDate; entities.PurchaseOrderDetailsTables.Add(purchadeDetail); entities.SaveChanges(); } } AccountTransictionTable Account = new AccountTransictionTable(); Account.TransictionDate = DateTime.Now; Account.TransictionNumber = base64Guid; Account.TransictionType = "Purchase"; Account.CreationTime = DateTime.Now.TimeOfDay; Account.AddedBy = 1; Account.FK_CompanyId = PurchaseViewModel.CompanyId; Account.FKPaymentTerm = 1; Account.TransictionRefrenceId = _PTable.PurchaseOrderID.ToString(); //Accounts payable Transaction int Accountpayble = AccountIdByName("Accounts payable", (int)PurchaseViewModel.CompanyId); if (Accountpayble != 0) { Account.Dr = 0.00; Account.Cr = PurchaseViewModel.PurchaseTotoalAmount; Account.FK_AccountID = Accountpayble; entities.AccountTransictionTables.Add(Account); entities.SaveChanges(); } // Cost Of Goods Transaction int CostOfGood = AccountIdByName("Cost Of Goods", (int)PurchaseViewModel.CompanyId); if (CostOfGood != 0) { Account.Cr = 0.00; Account.Dr = PurchaseViewModel.PurchaseSubTotal; Account.FK_AccountID = CostOfGood; entities.AccountTransictionTables.Add(Account); entities.SaveChanges(); } // Input VAT Trnsaction int VatAccountId = AccountIdByName("Input VAT", (int)PurchaseViewModel.CompanyId); if (VatAccountId != 0) { Account.Cr = 0.00; Account.Dr = PurchaseViewModel.Vat21 + PurchaseViewModel.Vat6; Account.FK_AccountID = VatAccountId; entities.AccountTransictionTables.Add(Account); int Id = entities.SaveChanges(); } MvcPurchaseModel pModel = new MvcPurchaseModel(); pModel.PurchaseOrderID = _PTable.PurchaseOrderID; transaction.Commit(); return(Ok(pModel)); } catch (Exception) { transaction.Rollback(); return(BadRequest()); } } } }
public JsonResult GetPendingItem(int PurchaseId) { int Contectid, CompanyID = 0; MvcPurchaseViewModel purchaseviewModel = new MvcPurchaseViewModel(); try { var idd = Session["ClientId"]; var cdd = Session["CompayID"]; if (Session["ClientId"] != null && Session["CompayID"] != null) { Contectid = Convert.ToInt32(Session["ClientId"]); CompanyID = Convert.ToInt32(Session["CompayID"]); } else { // return RedirectToAction("Index", "Login"); } GlobalVeriables.WebApiClient.DefaultRequestHeaders.Remove("CompayID"); GlobalVeriables.WebApiClient.DefaultRequestHeaders.Add("CompayID", cdd.ToString()); HttpResponseMessage response = GlobalVeriables.WebApiClient.GetAsync("ApiConatacts/" + idd.ToString()).Result; MVCContactModel contectmodel = response.Content.ReadAsAsync <MVCContactModel>().Result; HttpResponseMessage responseCompany = GlobalVeriables.WebApiClient.GetAsync("APIComapny/" + cdd.ToString()).Result; MVCCompanyInfoModel companyModel = responseCompany.Content.ReadAsAsync <MVCCompanyInfoModel>().Result; ViewBag.Contentdata = contectmodel; ViewBag.Companydata = companyModel; DateTime InvoiceDate = new DateTime(); InvoiceDate = DateTime.Now; purchaseviewModel.PurchaseDate = InvoiceDate; purchaseviewModel.PurchaseDueDate = InvoiceDate.AddDays(+15); HttpResponseMessage res = GlobalVeriables.WebApiClient.GetAsync("APIPurchase/" + PurchaseId.ToString()).Result; MvcPurchaseModel ob = res.Content.ReadAsAsync <MvcPurchaseModel>().Result; purchaseviewModel.PurchaseOrderID = ob.PurchaseOrderID; purchaseviewModel.Purchase_ID = ob.PurchaseID; purchaseviewModel.PurchaseDate = Convert.ToDateTime(ob.PurchaseDate); purchaseviewModel.PurchaseDueDate = (DateTime)ob.PurchaseDueDate; purchaseviewModel.PurchaseRefNumber = ob.PurchaseRefNumber; purchaseviewModel.PurchaseSubTotal = ob.PurchaseSubTotal; purchaseviewModel.PurchaseDiscountPercenteage = ob.PurchaseDiscountPercenteage; purchaseviewModel.PurchaseDiscountAmount = ob.PurchaseDiscountAmount; purchaseviewModel.PurchaseVatPercentage = ob.PurchaseVatPercentage; purchaseviewModel.PurchaseTotoalAmount = ob.PurchaseTotoalAmount; purchaseviewModel.PurchaseVenderNote = ob.PurchaseVenderNote; purchaseviewModel.Status = ob.Status; purchaseviewModel.Vat21 = (int)ob.Vat21; purchaseviewModel.Vat6 = (int)ob.Vat6; purchaseviewModel.CompanyId = ob.CompanyId; purchaseviewModel.UserId = ob.UserId; HttpResponseMessage responseQutationDetailsList = GlobalVeriables.WebApiClient.GetAsync("APIPurchaseDetail/" + PurchaseId.ToString()).Result; List <MvcPurchaseViewModel> QutationModelDetailsList = responseQutationDetailsList.Content.ReadAsAsync <List <MvcPurchaseViewModel> >().Result; ViewBag.Contentdata = contectmodel; ViewBag.Companydata = companyModel; ViewBag.PurchaseDatailsList = QutationModelDetailsList; return(new JsonResult { Data = new { PurchaseData = QutationModelDetailsList, ContectDetail = contectmodel, CompanyDta = companyModel, purchase = ob } }); } catch (Exception ex) { return(Json("", JsonRequestBehavior.AllowGet)); } return(Json("", JsonRequestBehavior.AllowGet)); }
public IHttpActionResult PutPurchaseTable(int id, MvcPurchaseViewModel PViewModel) { string Ref = PViewModel.PurchaseOrderID.ToString(); //accountTransictionTable.CreationTime = null; PurchaseOrderTable PTable = new PurchaseOrderTable(); using (DBEntities _dbcotext = new DBEntities()) { using (DbContextTransaction transaction = _dbcotext.Database.BeginTransaction(System.Data.IsolationLevel.ReadCommitted)) { try { PTable.PurchaseID = PViewModel.PurchaseId.ToString(); PTable.PurchaseOrderID = Convert.ToInt32(PViewModel.PurchaseOrderID); PTable.PurchaseRefNumber = PViewModel.PurchaseRefNumber; PTable.CompanyId = PViewModel.CompanyId; PTable.VenderId = PViewModel.VenderId; PTable.UserId = PViewModel.UserId; PTable.PurchaseDate = PViewModel.PurchaseDate; PTable.PurchaseDueDate = PViewModel.PurchaseDueDate; PTable.PurchaseSubTotal = PViewModel.PurchaseSubTotal; PTable.PurchaseDiscountAmount = PViewModel.PurchaseDiscountAmount; PTable.PurchaseTotoalAmount = PViewModel.PurchaseTotoalAmount; PTable.PurchaseVenderNote = PViewModel.PurchaseVenderNote; PTable.Vat6 = PViewModel.Vat6; PTable.Vat21 = PViewModel.Vat21; PTable.Status = "open"; PTable.Type = StatusEnum.Goods.ToString(); _dbcotext.Entry(PTable).State = EntityState.Modified; _dbcotext.SaveChanges(); if (PViewModel.PurchaseOrderList != null) { foreach (PurchaseOrderDetailsTable item in PViewModel.PurchaseOrderList) { PurchaseOrderDetailsTable DTable = new PurchaseOrderDetailsTable(); DTable.PurchaseOrderDetailsId = item.PurchaseOrderDetailsId; DTable.PurchaseItemId = item.PurchaseItemId; DTable.PurchaseDescription = item.PurchaseDescription; DTable.PurchaseQuantity = item.PurchaseQuantity; DTable.PurchaseItemRate = item.PurchaseItemRate; DTable.Type = item.Type; DTable.RowSubTotal = item.RowSubTotal; DTable.PurchaseDescription = item.PurchaseDescription; PTable.VenderId = PViewModel.VenderId; DTable.ServiceDate = item.ServiceDate; PTable.CompanyId = PViewModel.CompanyId; DTable.PurchaseTotal = item.PurchaseTotal; DTable.PurchaseVatPercentage = item.PurchaseVatPercentage; DTable.PurchaseId = PViewModel.PurchaseOrderID; if (DTable.PurchaseOrderDetailsId == 0) { _dbcotext.PurchaseOrderDetailsTables.Add(DTable); _dbcotext.SaveChanges(); } else { _dbcotext.Entry(DTable).State = EntityState.Modified; _dbcotext.SaveChanges(); } } AccountTransictionTable Account = new AccountTransictionTable(); Account.TransictionDate = DateTime.Now; Account.TransictionNumber = base64Guid; Account.TransictionType = "Purchase"; Account.CreationTime = DateTime.Now.TimeOfDay; Account.AddedBy = PViewModel.UserId; Account.FK_CompanyId = PViewModel.CompanyId; Account.FKPaymentTerm = 1; Account.TransictionRefrenceId = PTable.PurchaseOrderID.ToString(); //Accounts payable Transaction List <AccountTransictionTable> List = new List <AccountTransictionTable>(); List = _dbcotext.AccountTransictionTables.Where(t => t.TransictionRefrenceId == Ref.ToString()).ToList(); _dbcotext.AccountTransictionTables.RemoveRange(_dbcotext.AccountTransictionTables.Where(F => F.TransictionRefrenceId == Ref.ToString())); _dbcotext.SaveChanges(); int Accountpayble = AccountIdByName("Accounts payable", (int)PViewModel.CompanyId); if (Accountpayble != 0) { Account.Dr = 0.00; Account.Cr = PViewModel.PurchaseTotoalAmount; Account.FK_AccountID = Accountpayble; _dbcotext.AccountTransictionTables.Add(Account); _dbcotext.SaveChanges(); } // Cost Of Goods Transaction int CostOfGood = AccountIdByName("Cost Of Goods", (int)PViewModel.CompanyId); if (CostOfGood != 0) { Account.Cr = 0.00; Account.Dr = PViewModel.PurchaseSubTotal; Account.FK_AccountID = CostOfGood; _dbcotext.AccountTransictionTables.Add(Account); _dbcotext.SaveChanges(); } // Input VAT Trnsaction int VatAccountId = AccountIdByName("Input VAT", (int)PViewModel.CompanyId); if (VatAccountId != 0) { Account.Cr = 0.00; Account.Dr = PViewModel.Vat21 + PViewModel.Vat6; Account.FK_AccountID = VatAccountId; _dbcotext.AccountTransictionTables.Add(Account); int Id = _dbcotext.SaveChanges(); } transaction.Commit(); return(Ok()); } } catch (Exception) { transaction.Rollback(); return(BadRequest()); } return(BadRequest()); } } /////db.Entry(PurchaseTable).State = EntityState.Modified; //db.SaveChanges(); // return Ok(PurchaseTable); }