public IHttpActionResult PutQutationDetailsTable(int id, InvoiceDetailsTable InvoiceDetailsTable) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != InvoiceDetailsTable.InvoiceDetailId) { return(BadRequest()); } db.Entry(InvoiceDetailsTable).State = EntityState.Modified; try { db.SaveChanges(); return(Ok(InvoiceDetailsTable)); } catch (DbUpdateConcurrencyException) { if (!InvoiceDetailsTableExists(id)) { return(NotFound()); } else { throw; } } }
public IHttpActionResult DeleteInvoiceDtailsTable(int id) { InvoiceDetailsTable invoiceDetailsTable = db.InvoiceDetailsTables.Find(id); if (invoiceDetailsTable == null) { return(NotFound()); } db.InvoiceDetailsTables.Remove(invoiceDetailsTable); db.SaveChanges(); return(Ok(invoiceDetailsTable)); }
public IHttpActionResult PostQutationDetailsTable(InvoiceDetailsTable invoiceDetailsTable) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { invoiceDetailsTable = db.InvoiceDetailsTables.Add(invoiceDetailsTable); db.SaveChanges(); return(Ok()); } catch (Exception ex) { return(BadRequest()); } }
public IHttpActionResult PostInvoice([FromBody] InvoiceViewModel invoiceViewModel) { InvoiceTable Table = new InvoiceTable(); using (DBEntities context = new DBEntities()) { using (DbContextTransaction transaction = context.Database.BeginTransaction(System.Data.IsolationLevel.ReadCommitted)) { try { Table.Invoice_ID = invoiceViewModel.Invoice_ID; Table.CompanyId = invoiceViewModel.CompanyId; Table.UserId = invoiceViewModel.UserId; Table.ContactId = invoiceViewModel.ContactId; Table.RefNumber = invoiceViewModel.RefNumber; Table.InvoiceDate = invoiceViewModel.InvoiceDate; Table.InvoiceDueDate = invoiceViewModel.InvoiceDueDate; Table.SubTotal = invoiceViewModel.SubTotal; Table.DiscountAmount = invoiceViewModel.DiscountAmount; Table.TotalAmount = invoiceViewModel.TotalAmount; Table.CustomerNote = invoiceViewModel.CustomerNote; Table.TotalVat21 = invoiceViewModel.TotalVat21; Table.TotalVat6 = invoiceViewModel.TotalVat6; Table.Type = StatusEnum.Goods.ToString(); Table.Status = "accepted"; Table.InvoiceDescription = invoiceViewModel.InvoiceDescription; if (Table.TotalVat6 != null) { double vat61 = Math.Round((double)Table.TotalVat6, 2, MidpointRounding.AwayFromZero); Table.TotalVat6 = vat61; } if (Table.TotalVat21 != null) { double vat21 = Math.Round((double)Table.TotalVat21, 2, MidpointRounding.AwayFromZero); Table.TotalVat21 = vat21; } Table = context.InvoiceTables.Add(Table); context.SaveChanges(); if (invoiceViewModel.InvoiceDetailsTable != null) { foreach (InvoiceDetailsTable InvoiceDetailsList in invoiceViewModel.InvoiceDetailsTable) { InvoiceDetailsTable InvoiceDetails = new InvoiceDetailsTable(); InvoiceDetails.ItemId = Convert.ToInt32(InvoiceDetailsList.ItemId); InvoiceDetails.InvoiceId = Table.InvoiceID; InvoiceDetails.Description = InvoiceDetailsList.Description; InvoiceDetails.Quantity = InvoiceDetailsList.Quantity; InvoiceDetails.Rate = Convert.ToDouble(InvoiceDetailsList.Rate); InvoiceDetails.Total = Convert.ToDouble(InvoiceDetailsList.Total); InvoiceDetails.ServiceDate = InvoiceDetailsList.ServiceDate; InvoiceDetails.RowSubTotal = InvoiceDetailsList.RowSubTotal; InvoiceDetails.Vat = Convert.ToDouble(InvoiceDetailsList.Vat); InvoiceDetails.Type = InvoiceDetailsList.Type; if (InvoiceDetails.InvoiceDetailId == 0) { InvoiceDetails = context.InvoiceDetailsTables.Add(InvoiceDetails); context.SaveChanges(); } } } AccountTransictionTable Account = new AccountTransictionTable(); Account.TransictionDate = DateTime.Now; Account.TransictionNumber = base64Guid; Account.TransictionType = "Invoice"; Account.TransictionRefrenceId = Table.InvoiceID.ToString(); Account.CreationTime = DateTime.Now.TimeOfDay; Account.AddedBy = 1; Account.FK_CompanyId = invoiceViewModel.CompanyId; Account.FKPaymentTerm = 1; //Cash Account Transaction int CashtAccountId = AccountIdByName("Cash on hand", (int)invoiceViewModel.CompanyId); if (CashtAccountId != 0) { Account.Dr = invoiceViewModel.TotalAmount; Account.Cr = 0.00; Account.FK_AccountID = CashtAccountId; context.AccountTransictionTables.Add(Account); context.SaveChanges(); } // Sale Account Transaction int SaleAccount = AccountIdByName("Seles", (int)invoiceViewModel.CompanyId); if (SaleAccount != 0) { Account.Cr = invoiceViewModel.SubTotal; Account.Dr = 0.00; Account.FK_AccountID = SaleAccount; context.AccountTransictionTables.Add(Account); context.SaveChanges(); } // vat Out Put Trnsaction int VatAccountId = AccountIdByName("VAT Payable", (int)invoiceViewModel.CompanyId); if (VatAccountId != 0) { Account.Cr = invoiceViewModel.TotalVat6 + invoiceViewModel.TotalVat21; Account.Dr = 0.00; Account.FK_AccountID = VatAccountId; context.AccountTransictionTables.Add(Account); int Id = context.SaveChanges(); } InvoiceModel inc = new InvoiceModel(); inc.InvoiceID = Table.InvoiceID; transaction.Commit(); return(Ok(inc)); } catch (Exception) { transaction.Rollback(); return(BadRequest()); } } } }
public JsonResult Proceeds(int QutationId, string Status, string Type) { HttpResponseMessage responsses = new HttpResponseMessage(); MVCQutationModel QutationModel = new MVCQutationModel(); List <MVCQutationViewModel> _QuatationDetailList = new List <MVCQutationViewModel>(); InvoiceTable InvoiceTable = new InvoiceTable(); MVCInvoiceModel mvcInvoiceModel = new MVCInvoiceModel(); try { QutationModel = GetQutationById(QutationId); _QuatationDetailList = GetQuatationDetailListById(QutationId); if (QutationModel != null) { mvcInvoiceModel.Invoice_ID = QutationModel.Qutation_ID; mvcInvoiceModel.QutationId = QutationModel.QutationID; mvcInvoiceModel.CompanyId = QutationModel.CompanyId; mvcInvoiceModel.UserId = Convert.ToInt32(Session["LoginUserID"]); mvcInvoiceModel.ContactId = QutationModel.ContactId; mvcInvoiceModel.InvoiceID = 0; mvcInvoiceModel.RefNumber = QutationModel.RefNumber; mvcInvoiceModel.InvoiceDate = QutationModel.QutationDate; mvcInvoiceModel.InvoiceDueDate = QutationModel.DueDate; mvcInvoiceModel.SubTotal = QutationModel.SubTotal; mvcInvoiceModel.DiscountAmount = QutationModel.DiscountAmount; mvcInvoiceModel.TotalAmount = QutationModel.TotalAmount; mvcInvoiceModel.CustomerNote = QutationModel.CustomerNote; mvcInvoiceModel.TotalVat21 = QutationModel.TotalVat21; mvcInvoiceModel.TotalVat6 = QutationModel.TotalVat6; mvcInvoiceModel.Type = StatusEnum.Goods.ToString(); mvcInvoiceModel.Status = "accepted"; HttpResponseMessage InvoiceResponse = GlobalVeriables.WebApiClient.PostAsJsonAsync("PostInvoice", mvcInvoiceModel).Result; InvoiceTable = InvoiceResponse.Content.ReadAsAsync <InvoiceTable>().Result; if (InvoiceResponse.StatusCode == System.Net.HttpStatusCode.OK) { if (_QuatationDetailList != null) { foreach (var item in _QuatationDetailList) { InvoiceDetailsTable InvoiceDetails = new InvoiceDetailsTable(); InvoiceDetails.ItemId = Convert.ToInt32(item.ItemId); InvoiceDetails.InvoiceId = InvoiceTable.InvoiceID; InvoiceDetails.Description = item.Description; InvoiceDetails.Quantity = item.Quantity; InvoiceDetails.Rate = Convert.ToDouble(item.Rate); InvoiceDetails.Total = Convert.ToDouble(item.Total); InvoiceDetails.ServiceDate = item.ServiceDate; InvoiceDetails.RowSubTotal = item.RowSubTotal; InvoiceDetails.Vat = Convert.ToDouble(item.Vat); InvoiceDetails.Type = item.Type; responsses = GlobalVeriables.WebApiClient.PostAsJsonAsync("PostinvoiceDetails", InvoiceDetails).Result; if (responsses.StatusCode != System.Net.HttpStatusCode.OK) { return(new JsonResult { Data = new { Status = "Fail", Message = "Fail to Proceed" } }); } } if (UpdateQuatationStation(QutationId)) { if (Transaction(QutationModel, "Add")) { return(new JsonResult { Data = new { Status = "Success", Message = "Proceed successfullly" } }); } } } } else { return(new JsonResult { Data = new { Status = "Fail", Message = "Fail Proceed successfullly" } }); } } } catch (Exception) { throw; } return(new JsonResult { Data = new { Status = "Success", Message = "Proceed successfullly" } }); }