public async Task <IActionResult> UpdatePurchases([FromBody] PurchasesVM purchasesView) { if (!ModelState.IsValid) { return(BadRequest("Bad purchases")); } try { var userId = Convert.ToInt32(this.User.FindFirstValue(ClaimTypes.NameIdentifier)); if (userId != purchasesView.purchases.UserID) { return(BadRequest("You do not have permission to edit this data")); } //purchasesView.purchases.UserID = userId; //purchasesView.purchases.StatusID = EnumsType.PurchasesStatus.NewRequest; //purchasesView.purchases.CreatedDate = DateTime.Now.ToShortDateString(); var obj = await _purchasesRepository.updatePurchases(purchasesView); // await _emailsender.SendEmailAsync(user.Email, "Techhowdy.com - Confirm Your Email", "Please confirm your e-mail by clicking this link: <a href=\"" + callbackUrl + "\">click here</a>"); return(Ok(obj)); } catch (Exception ex) { //ModelState.AddModelError("error", ex.Message); return(BadRequest(ex.Message)); } }
public async Task <PurchasesVM> GetPurchase(int pPurchaseID, int UserID) { PurchasesVM obj = new PurchasesVM(); using (SqlConnection con = new SqlConnection(_configuration.GetConnectionString("DatabaseConnection"))) { var paramater1 = new DynamicParameters(); paramater1.Add("@PurchaseID", pPurchaseID); paramater1.Add("@UserID", UserID); Purchases purchases = await con.QueryFirstAsync <Purchases>("[ESS].LoadPurchasesInfo", paramater1, null, 0, commandType : CommandType.StoredProcedure); var paramater2 = new DynamicParameters(); paramater2.Add("@PurchaseID", pPurchaseID); IEnumerable <PurchasesDetails> purchasesDetails = await con.QueryAsync <PurchasesDetails>("[ESS].LoadPurchasesDetailsInfo", paramater2, null, 0, commandType : CommandType.StoredProcedure); IEnumerable <PurchasesStageTransactionModel> purchasesStageTransactionModels = await con.QueryAsync <PurchasesStageTransactionModel>("[ESS].LoadPurchasesStageTransactionInfo", paramater2, null, 0, commandType : CommandType.StoredProcedure); //IEnumerable<PurchaseOffer> purchaseOffers = await con.QueryAsync<PurchaseOffer>("[ESS].LoadPurchaseOfferInfo", paramater2, null, 0, commandType: CommandType.StoredProcedure); obj.purchases = purchases; obj.purchasesDetails = purchasesDetails.ToList(); obj.purchasesStageTransactionModels = purchasesStageTransactionModels.ToList(); //obj.purchaseOffers = purchaseOffers.ToList(); return(obj); } }
public async Task <PurchasesVM> updatePurchases(PurchasesVM PurchasesVM) { _context.Purchases.Update(PurchasesVM.purchases); foreach (PurchasesDetails dtl in PurchasesVM.purchasesDetails) { dtl.PurchaseID = PurchasesVM.purchases.PurchaseID; dtl.PurchasesDetailsID = 0; if (PurchasesVM.purchases.PurchaseID < dtl.ItemTypeID) { PurchasesVM.purchases.TypeID = dtl.ItemTypeID; } } List <PurchasesDetails> Oldresult = _context.PurchasesDetails.Where(p => p.PurchaseID == PurchasesVM.purchases.PurchaseID).ToList(); _context.RemoveRange(Oldresult); if (PurchasesVM.purchasesDetails != null) { await _context.AddRangeAsync(PurchasesVM.purchasesDetails); } var result = await _context.SaveChangesAsync(); AttachmentConcrete attachmentConcrete = new AttachmentConcrete(_context, _configuration); if (PurchasesVM.attachments != null) { foreach (Attachment dtl in PurchasesVM.attachments) { Attachment obj = _context.Attachments.FirstOrDefault(p => p.AttachmentID == dtl.AttachmentID); obj.ReferenceID = PurchasesVM.purchases.PurchaseID; await attachmentConcrete.UpdateAttachment(obj); } } if (result > 0) { return(PurchasesVM); } else { throw new Exception("Not Update"); } }
public async Task <IActionResult> Get([FromRoute] int PurchaseID) { var userId = Convert.ToInt32(this.User.FindFirstValue(ClaimTypes.NameIdentifier)); if (!ModelState.IsValid) { return(BadRequest(ModelState)); } //IEnumerable<Purchases> Purchase1 = await _purchasesRepository.GetWithDetailsAsync(p => p.PurchaseID == PurchaseID); PurchasesVM PurchaseVM = await _purchasesRepository.GetPurchase(PurchaseID, userId); if (PurchaseVM == null) { return(BadRequest("Not Found Requset by Id " + PurchaseID)); } return(Ok(PurchaseVM)); }
public async Task <IActionResult> Get([FromRoute] string PurchaseNumber) { var userId = Convert.ToInt32(this.User.FindFirstValue(ClaimTypes.NameIdentifier)); if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Purchases Purchase = _purchasesRepository.Find(p => p.PurchaseNumber == PurchaseNumber); if (Purchase == null) { return(BadRequest("Not Found Requset by Number " + PurchaseNumber)); } PurchasesVM PurchaseVM = await _purchasesRepository.GetPurchase(Purchase.PurchaseID, userId); return(Ok(PurchaseVM)); }
public async Task <IActionResult> CreatePurchases([FromBody] PurchasesVM purchasesView) { if (!ModelState.IsValid) { return(BadRequest("Bad purchases")); } try { var userId = Convert.ToInt32(this.User.FindFirstValue(ClaimTypes.NameIdentifier)); purchasesView.purchases.UserID = userId; purchasesView.purchases.StatusID = EnumsType.PurchasesStatus.NewRequest; purchasesView.purchases.PurchaseNumber = "-1"; purchasesView.purchases.CreatedDate = DateTime.Now.ToShortDateString(); var RoleName = this.User.FindFirstValue(ClaimTypes.Role); if (RoleName.ToUpper() == "CLIENT") { return(BadRequest("You do not have permission to Add New Request")); } if (_appSettings.IsNeedAttachmentsWithRequest == "1") { if (purchasesView.attachments == null || purchasesView.attachments.Count == 0) { return(BadRequest("You Must Enter Attachments")); } if (purchasesView.attachments == null || purchasesView.attachments.Count < 2) { return(BadRequest("You Must Enter Two Or More Attachments")); } } var obj = await _purchasesRepository.savePurchases(purchasesView); // await _emailsender.SendEmailAsync(user.Email, "Techhowdy.com - Confirm Your Email", "Please confirm your e-mail by clicking this link: <a href=\"" + callbackUrl + "\">click here</a>"); return(Ok(obj)); } catch (Exception ex) { //ModelState.AddModelError("error", ex.Message); return(BadRequest(ex.Message)); } }
public async Task <PurchasesVM> savePurchases(PurchasesVM PurchasesVM) { await _context.Purchases.AddAsync(PurchasesVM.purchases); foreach (PurchasesDetails dtl in PurchasesVM.purchasesDetails) { dtl.PurchaseID = PurchasesVM.purchases.PurchaseID; if (PurchasesVM.purchases.PurchaseID < dtl.ItemTypeID) { PurchasesVM.purchases.TypeID = dtl.ItemTypeID; } } if (PurchasesVM.purchasesDetails != null) { await _context.AddRangeAsync(PurchasesVM.purchasesDetails); } await _context.SaveChangesAsync(); AttachmentConcrete attachmentConcrete = new AttachmentConcrete(_context, _configuration); if (PurchasesVM.attachments != null) { foreach (Attachment dtl in PurchasesVM.attachments) { Attachment obj = _context.Attachments.FirstOrDefault(p => p.AttachmentID == dtl.AttachmentID); obj.ReferenceID = PurchasesVM.purchases.PurchaseID; await attachmentConcrete.UpdateAttachment(obj); } } await _context.SaveChangesAsync(); return(PurchasesVM); }