public static async Task <int> AddExpenditure(ExpenditureModel expenditure) { try { var addExpenditureSql = @"INSERT INTO Expenditure (Name, Type, Amount, BillDate, Notes) VALUES (@Name, @Type, @Amount, @BillDate, @Notes); SELECT CAST(SCOPE_IDENTITY() as int)"; var addExpenditureItemsSql = @"INSERT INTO [ExpenditureItems] (ExpenditureId, Name, Quantity, UnitPrice, TotalPrice) VALUES (@ExpenditureId, @Name, @Quantity, @UnitPrice, @TotalPrice)"; using (var connection = OpenConnection()) { var expenditureId = connection.Query <int>(addExpenditureSql, expenditure).Single(); if (expenditure.ExpenditureItems != null) { foreach (var expenditureItem in expenditure.ExpenditureItems) { expenditureItem.ExpenditureId = expenditureId; connection.Execute(addExpenditureItemsSql, expenditureItem); } } return(expenditureId); } } catch (Exception ex) { throw ex; } }
public async Task <ErrorCodeLib.Models.ResultModel> PUT([FromBody] ExpenditureModel model) { var result = new ErrorCodeLib.Models.ResultModel(); if (model.id == null) { result = ErrorCode.PARAMETER_REQUIRED(new string[] { "id" }, "cht"); return(result); } //檢查expenditure var exist_expenditure = _repo_expenditure.FindById(Convert.ToInt32(model.id)); if (exist_expenditure == null) { result = ErrorCode.DB_ERROR_NOT_FOUND(null, "id", "cht"); return(result); } //檢查project var exist_project = _repo_project.FindById(Convert.ToInt32(model.project_id)); if (exist_project == null) { result = ErrorCode.DB_ERROR_NOT_FOUND(null, "project_id", "cht"); return(result); } //檢查partner var exist_partner = _repo_partner.FindById(Convert.ToInt32(model.partner_id)); if (exist_partner == null) { result = ErrorCode.DB_ERROR_NOT_FOUND(null, "partner_id", "cht"); return(result); } //檢查item var exist_item = _repo_item.FindById(Convert.ToInt32(model.item_id)); if (exist_item == null) { result = ErrorCode.DB_ERROR_NOT_FOUND(null, "item_id", "cht"); return(result); } model.updated = DateTime.Now; _repo_expenditure.Update(model); var exception_save = _unitOfWork.Save(); if (exception_save != null) { result = ErrorCode.CUSTOM_ERROR(exception_save.Message, "DB ERROR", 500, "cht"); } result = ErrorCode.SUCCESS(null, "修改成功", "cht"); return(result); }
public void AddExpenditure() { //var expenditure = new ExpenditureModel() //{ // Name = "Shop Advance", // Amount = 150000, // BillDate = new DateTime(2020, 06, 01), // Type = ExpenditureTypeEnum.Shop, // Notes = "Advance amount gave to the shop owner" //}; var items = new List <ExpenditureItemsModel>(); items.Add(new ExpenditureItemsModel() { Name = "Sun screen lotion", Quantity = 5, UnitPrice = 10 }); var expenditure = new ExpenditureModel() { Name = "Nykaa", BillDate = DateTime.UtcNow, Type = ExpenditureTypeEnum.Products, ExpenditureItems = items, Notes = "Product bought to use for the customers", Amount = items.Sum(i => i.TotalPrice) }; Expenditure.AddExpenditure(expenditure); }
public ActionResult Edit(ExpenditureModel model) { if (ModelState.IsValid) { Expenditure.UpdateExpenditure(model); return(RedirectToAction("Index")); } ViewBag.parishUsers = GetParishUsersSelectList(0); ViewBag.expenseTypes = GetExpenseTypesSelectList(0); return(View()); }
public ActionResult Edit(int id = 0) { var model = new ExpenditureModel(); if (id > 0) { model = Expenditure.GetExpenditureById(id); } ViewBag.parishUsers = GetParishUsersSelectList(0); ViewBag.expenseTypes = GetExpenseTypesSelectList(0); return(View(model)); }
public IActionResult Get(int id) { try { ExpenditureModel result = _unitOfWork.ExpenditureRepository.GetById(id); return(Ok(result)); } catch (System.Exception) { return(BadRequest()); throw; } }
public IActionResult Delete([FromBody] ExpenditureModel attachment) { try { _unitOfWork.AttachmentRepository.Delete(attachment); _unitOfWork.Save(); return(Ok(success)); } catch (System.Exception) { return(BadRequest()); throw; } }
public IActionResult Update([FromBody] ExpenditureModel expenditure) { try { _unitOfWork.ExpenditureRepository.Update(expenditure); _unitOfWork.Save(); return(Ok(success)); } catch (System.Exception) { return(BadRequest()); throw; } }
public IActionResult Delete(int id) { try { ExpenditureModel result = _unitOfWork.ExpenditureRepository.GetById(id); _unitOfWork.ExpenditureRepository.Delete(result); _unitOfWork.Save(); return(Ok(success)); } catch (System.Exception) { return(BadRequest()); throw; } }
public async Task <ErrorCodeLib.Models.ResultModel> POST([FromBody] ExpenditureModel model) { var result = new ErrorCodeLib.Models.ResultModel(); //檢查project var exist_project = _repo_project.FindById(Convert.ToInt32(model.project_id)); if (exist_project == null) { result = ErrorCode.DB_ERROR_NOT_FOUND(null, "project_id", "cht"); return(result); } //檢查partner var exist_partner = _repo_partner.FindById(Convert.ToInt32(model.partner_id)); if (exist_partner == null) { result = ErrorCode.DB_ERROR_NOT_FOUND(null, "partner_id", "cht"); return(result); } //檢查item var exist_item = _repo_item.FindById(Convert.ToInt32(model.item_id)); if (exist_item == null) { result = ErrorCode.DB_ERROR_NOT_FOUND(null, "item_id", "cht"); return(result); } model.created = DateTime.Now; _repo_expenditure.Create(model); var exception_save = _unitOfWork.Save(); if (exception_save != null) { result = ErrorCode.CUSTOM_ERROR(exception_save.Message, "DB ERROR", 500, "cht"); } var output = new { model.id }; result = ErrorCode.SUCCESS(null, "新增成功", "cht"); return(result); }
public void UpdateExpenditure(ExpenditureModel expenditure) { var model = mapper.Map <ExpenditureModel, Expens>(expenditure); if (model.ID > 0) { DB.Expenses.Attach(model); var entry = DB.Entry(model); entry.State = EntityState.Modified; DB.SaveChanges(); } else { DB.Expenses.Add(model); DB.SaveChanges(); } }
private static async Task <ExpenditureModel> GetExpenditureElements(IDbConnection connection, ExpenditureModel expenditure) { var expenditureItems = connection.Query <ExpenditureItemsModel>(getExpenditureItemsSql, new { @ExpenditureId = expenditure.Id }).ToList(); expenditure.ExpenditureItems = expenditureItems; return(expenditure); }
public void CreateNewExpenditure(ExpenditureModel expenditure) { }