public async Task <IHttpActionResult> Post([FromBody] CreditApprovalRequest data) { try { CreditApproval dataCreditApproval = data.GetObject(); dataCreditApproval.CreatedBy = GetUserAuth().Id; dataCreditApproval.TicketNumber = GetUserAuth().Id.ToString() + ((Int32)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds).ToString(); CreditApproval creditApproval = await _creditApprovalRepository.Create(dataCreditApproval); List <TrCaProduct> trCaProducts = new List <TrCaProduct>(); foreach (int item in data.Products) { TrCaProduct newTrCaProduct = new TrCaProduct(); newTrCaProduct.CreditApprovalId = creditApproval.Id; newTrCaProduct.ProductId = item; trCaProducts.Add(newTrCaProduct); } await _trCaProductRepository.MultipleCreate(trCaProducts); return(new HttpJsonApiResult <CreditApprovalModel>( new CreditApprovalModel(creditApproval), Request, HttpStatusCode.Created)); } catch (Exception) { return(new HttpJsonApiResult <string>( "Internal Server Error", Request, HttpStatusCode.InternalServerError)); } }
public Task <TrCaProduct> Create(TrCaProduct data) { return(Task.Run(() => { TrCaProduct trCaProduct = _db.TrCaProducts.Add(data); _db.SaveChanges(); return trCaProduct; })); }
public Task <TrCaProduct> Delete(int id) { return(Task.Run(() => { TrCaProduct trCaProduct = _db.TrCaProducts.Find(id); if (trCaProduct != null) { _db.TrCaProducts.Remove(trCaProduct); _db.SaveChanges(); } return trCaProduct; })); }
public async Task <IHttpActionResult> Update(int id, [FromBody] CreditApprovalRequest data) { try { CreditApproval creditApproval = await _creditApprovalRepository.Update(id, data.GetObject()); if (creditApproval != null) { if (data.Products != null || data.Products.Count() != 0) { bool isDeleted = await _trCaProductRepository.DeleteByCreditId(id); if (isDeleted) { List <TrCaProduct> trCaProducts = new List <TrCaProduct>(); foreach (int item in data.Products) { TrCaProduct newTrCaProduct = new TrCaProduct(); newTrCaProduct.CreditApprovalId = id; newTrCaProduct.ProductId = item; trCaProducts.Add(newTrCaProduct); } await _trCaProductRepository.MultipleCreate(trCaProducts); } } return(new HttpJsonApiResult <CreditApprovalModel>( new CreditApprovalModel(creditApproval), Request, HttpStatusCode.OK)); } return(new HttpJsonApiResult <string>("Not Found", Request, HttpStatusCode.NotFound)); } catch (Exception) { return(new HttpJsonApiResult <string>( "Internal Server Error", Request, HttpStatusCode.InternalServerError)); } }