public static ResultModel <string> GenerateInvoice() { string Y = DateTime.Now.Year.ToString().Substring(2); string NoInvoice = Y + "0001"; var data = ManageInvoice.GetAll().OrderByDescending(x => x.Createddate).FirstOrDefault(); if (data != null) { if (data.Createddate.Value.Year == DateTime.Now.Year) { int d = Convert.ToInt32(data.ID) + 1; NoInvoice = d.ToString(); } //// Mengambil 4 karakter kanan terakhir dari field nomor lalu menambahkan dengan 1 //hitung = Convert.ToInt64(rd["nomor"]) + 1; //string joinstr = "0000" + hitung; //// Mengambil 4 karakter kanan terakhir dari string joinstr //urut = joinstr.Substring(joinstr.Length - 4, 4); } end.StatusCode = (int)HttpStatusCode.OK; end.Value = NoInvoice; return(end); }
private static ResultModel <string> _validationInvoice(InvoiceModel param) { end.StatusCode = (int)HttpStatusCode.NotAcceptable; if (param == null) { end.StatusMessage = "Parameter is empty"; return(end); } if (string.IsNullOrEmpty(param.ID)) { end.StatusMessage = "No Invoice is required"; return(end); } if (!param.TransactionDate.HasValue) { end.StatusMessage = "Transaction Date is required"; return(end); } if (!param.UsersID.HasValue) { end.StatusMessage = "Customer is required"; return(end); } if (param.Items.Count < 1) { end.StatusMessage = "List Product is required"; return(end); } var user = ManageUser.GetById(param.UsersID.Value); if (user == null) { end.StatusMessage = "Customer is not found"; return(end); } var No = ManageInvoice.GetById(param.ID); if (No != null) { param.ID = GenerateInvoice().Value; } foreach (ListInvoiceModel item in param.Items) { var Product = ManageCatalogue.GetById(item.CatalogueID); if (Product == null) { end.StatusMessage = "Product is not found"; return(end); } if (Product.Qty < item.Qty) { end.StatusMessage = "Quantity Product smaller than Request"; return(end); } } end.StatusCode = (int)HttpStatusCode.OK; return(end); }
public static ResultModel <EFResponse> InsertInvoice(InvoiceModel param) { var validate = _validationInvoice(param); if (validate.StatusCode != (int)HttpStatusCode.OK) { res.StatusCode = validate.StatusCode; res.StatusMessage = validate.StatusMessage; return(res); } res.StatusCode = (int)HttpStatusCode.OK; long Total = 0; Invoice Receipt = new Invoice(); Receipt.ID = param.ID; Receipt.TransactionDate = param.TransactionDate; Receipt.UsersID = param.UsersID; foreach (ListInvoiceModel item in param.Items) { var product = ManageCatalogue.GetById(item.CatalogueID); #region To List Invoice Total = Total + (product.Price.Value * item.Qty); ListInvoice collect = new ListInvoice(); collect.InovicesID = Receipt.ID; collect.CatalogueID = item.CatalogueID; collect.Qty = item.Qty; collect.Price = product.Price; collect.SumPrice = (product.Price * item.Qty); ManageListInvoice.Insert(collect); #endregion product.Qty = Convert.ToInt16(product.Qty - item.Qty); UpdateCatalogue(product); } Receipt.TotalPrice = Total; var ret = ManageInvoice.Insert(Receipt); return(res); }
public ResultModel <List <InvoiceModel> > GetAll() { ResultModel <List <InvoiceModel> > res = new ResultModel <List <InvoiceModel> >(); var ret = ManageInvoice.GetAll(); var datas = (from a in ret join b in ManageUser.GetAll() on a.UsersID equals b.ID select new InvoiceModel { ID = a.ID, UsersID = a.UsersID, UserName = b.Username, Name = b.Name, TransactionDate = a.TransactionDate, TotalPrice = a.TotalPrice }).ToList(); res.StatusCode = (int)HttpStatusCode.NotFound; if (datas != null && datas.Count >= 1) { res.StatusCode = (int)HttpStatusCode.OK; res.Value = datas; } return(res); }