public async Task <ActionResult <CrmCustomer> > PostCrmCustomer(CrmCustomer crmCustomer) { _context.CrmCustomers.Add(crmCustomer); await _context.SaveChangesAsync(); return(CreatedAtAction("GetCrmCustomer", new { id = crmCustomer.Id }, crmCustomer)); }
public async Task <IActionResult> PutCrmCustomer(long id, CrmCustomer crmCustomer) { if (id != crmCustomer.Id) { return(BadRequest()); } _context.Entry(crmCustomer).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CrmCustomerExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public CrmCustomer Post(CrmCustomer crmCustomer) { _context.CrmCustomers.Add(crmCustomer); _context.SaveChanges(); return(crmCustomer); }
public JsonResult SaveCustomer(CrmCustomerViewModel model) { var currentUser = GetAuthenticatedUser(); Response response; try { using (var db = new KiaGalleryContext()) { if (model.id != null && model.id > 0) { var customer = db.CrmCustomer.Single(x => x.Id == model.id); customer.Id = model.id; customer.FullName = model.fullName; customer.FactorNumber = model.factorNumber; customer.PhoneNumber = model.phoneNumber; if (User.IsInRole("branchCrm")) { customer.BuyType = BuyType.BuyAttendance; } if (User.IsInRole("officeCrm")) { customer.BuyType = BuyType.BuyOnline; } customer.BuyTypeOnline = model.buyTypeOnline; customer.BuyTypeSubset = model.buyTypeSubset; customer.Date = DateUtility.GetDateTime(model.date); customer.Score = model.score; customer.BranchId = currentUser.BranchId; customer.ModifyUserId = GetAuthenticatedUserId(); customer.ModifyDate = DateTime.Now; customer.Ip = Request.UserHostAddress; var idList = model.answerList.Where(x => model.id != null).Select(x => model.id).ToList(); var deletedItems = customer.CrmCustomerAnswerList.Where(x => !idList.Any(y => y == x.Id)).ToList(); if (deletedItems.Count > 0) { db.CrmCustomerAnswer.RemoveRange(deletedItems); } model.answerList.ForEach(x => { var value = customer.CrmCustomerAnswerList.SingleOrDefault(y => y.CrmQuestionId == x.crmQuestionId); if (value != null) { value.CrmQuestionId = x.crmQuestionId; value.CrmQuestionValueId = x.crmQuestionValueId; value.DescriptiveAnswer = x.descriptiveAnswer; value.YesNoAnswer = x.yesNoAnswer; value.ModifyDate = DateTime.Now; value.ModifyUserId = GetAuthenticatedUserId(); value.Ip = Request.UserHostAddress; } else { customer.CrmCustomerAnswerList.Add(new CrmCustomerAnswer() { CrmQuestionId = x.crmQuestionId, CrmQuestionValueId = x.crmQuestionValueId, DescriptiveAnswer = x.descriptiveAnswer, YesNoAnswer = x.yesNoAnswer, CreateUserId = GetAuthenticatedUserId(), ModifyUserId = GetAuthenticatedUserId(), CreateDate = DateTime.Now, ModifyDate = DateTime.Now, Ip = Request.UserHostAddress, }); } }); } else { var item = new CrmCustomer() { FullName = model.fullName, FactorNumber = model.factorNumber, PhoneNumber = model.phoneNumber, BuyType = model.buyType, BuyTypeOnline = model.buyTypeOnline, BuyTypeSubset = model.buyTypeSubset, BranchId = currentUser.BranchId, Date = DateUtility.GetDateTime(model.date), Score = model.score, CreateUserId = GetAuthenticatedUserId(), ModifyUserId = GetAuthenticatedUserId(), CreateDate = DateTime.Now, ModifyDate = DateTime.Now, Ip = Request.UserHostAddress, }; if (User.IsInRole("branchCrm")) { item.BuyType = BuyType.BuyAttendance; } if (User.IsInRole("officeCrm")) { item.BuyType = BuyType.BuyOnline; } model.answerList.ForEach(x => { item.CrmCustomerAnswerList.Add(new CrmCustomerAnswer() { CrmQuestionId = x.crmQuestionId, CrmQuestionValueId = x.crmQuestionValueId, DescriptiveAnswer = x.descriptiveAnswer, YesNoAnswer = x.yesNoAnswer, CreateUserId = GetAuthenticatedUserId(), ModifyUserId = GetAuthenticatedUserId(), CreateDate = DateTime.Now, ModifyDate = DateTime.Now, Ip = Request.UserHostAddress, }); }); db.CrmCustomer.Add(item); } db.SaveChanges(); } response = new Response() { status = 200, message = "ثبت اطلاعات با موفقیت انجام شد." }; } catch (Exception ex) { response = Core.GetExceptionResponse(ex); } return(Json(response, JsonRequestBehavior.AllowGet)); }