public IActionResult Edit(int id) { var deal = _dealServices.Query(p => p.DealId == id) .Include(a => a.UserSetting) .Include(p => p.Company) .Include(p => p.Contact) .Include(p => p.Stage) .Include(p => p.Users) .FirstOrDefault(); if (deal == null) { return(NotFound()); } var deals = new List <TimelineDeal>() { new TimelineDeal(deal.DealId, deal.CreateDate, deal.UserSettingId, deal.UserSetting.FirstName, deal.Win, "CREATE", deal.Name, deal.Comments) }.AsQueryable(); var notes = (from x in _dealNoteServices.Query(a => a.DealId == id).Include(a => a.Note).ThenInclude(a => a.UserSetting) select new TimelineDeal(x.NoteId, x.Note.CreateDate, x.Note.UserSettingId, x.Note.UserSetting.FirstName, x.Note.Active, "NOTE", x.Id.ToString(), x.Note.Comments)); var task = (from x in _taskServices.Query(a => a.DealId == id).Include(a => a.UserSetting) select new TimelineDeal(x.TaskId, x.CreateDate, x.UserSettingId, x.UserSetting.FirstName, x.Active, "TASK", x.Name, x.Comments) { DueDate = x.DueDate, Done = x.Done }); var files = (from x in _dealFileServices.Query(a => a.DealId == id).Include(a => a.File).ThenInclude(a => a.UserSetting) select new TimelineDeal(x.FileId, x.File.CreateDate, x.File.UserSettingId, x.File.UserSetting.FirstName, !x.File.Deleted, "FILE", x.File.Name, x.File.ContentType) { DueDate = x.File.DueDate }); ViewData["ContactId"] = new SelectList(_contactServices.GetAll(a => a.Deleted == false), "ContactId", "FullName"); ViewData["CompanyId"] = new SelectList(_companyServices.GetAll(a => a.Deleted == false), "CompanyId", "FullName"); ViewData["TaskGroupId"] = new SelectList(_taskGroupServices.GetAll(a => a.Deleted == false), "TaskGroupId", "Name"); //ViewData["Tempo"] = new SelectList(Smart.Core.Domain.Tasks.Task.TimeSpansInRange(TimeSpan.Parse("00:00"), TimeSpan.Parse("23:45"), TimeSpan.Parse("00:15"))); ViewData["UserSettingId"] = new SelectList(_userSettingServices.GetAll(), "UserSettingId", "FirstName", _currentUser.Id()); var data = new UpdateDealViewModel(deal, deal.Company, deal.Contact) { AllStagesOfDeal = _stageServices.Query(a => a.PipelineId == deal.PipelineId && a.Active == true).Include(p => p.Users).ToList(), StageId = deal.StageId, Qty = _dealServices.Count(a => a.PipelineId == deal.PipelineId && a.StageId == deal.StageId), SubTotal = _dealServices.Query(a => a.PipelineId == deal.PipelineId && a.StageId == deal.StageId).Select(p => p.UnitPrice).DefaultIfEmpty(0).Sum().Value.ToString("c"), TaskGroups = _taskGroupServices.GetAll(a => a.Deleted == false), CurrentUserId = _currentUser.Id(), History = deals.Concat(notes).Concat(task).Concat(files), Notes = deal.Notes, Tasks = deal.Tasks, Files = deal.Files }; if ((data.Deal == null) || (data.Deal.Deleted)) { return(NotFound()); } return(View(data)); }
public ActionResult Update(UpdateDealViewModel vModel) { DealRecord deal = vModel.Deal; if (ModelState.IsValid) { deal.UpdatedDt = DateTime.Now; vModel.UpdateDealRecord(); return(View("Index")); } TempData["Postback"] = "true"; return(View(vModel)); }
public ActionResult Update(int ID) { UpdateDealViewModel viewModel = new UpdateDealViewModel(User.Identity.GetUserId <int>(), ID); return(View(viewModel)); }
public JsonResult Move(int id, int PipelineId, int StageId, bool Moveforward) { if (HasTaskRequired(id)) { return(Json(new { nok = "Existem tarefas a serem finalizadas antes de movimentar este negócio" })); } var data = _dealServices.Find(id); data.PipelineId = PipelineId; data.StageId = StageId; var stages = _stageServices.GetAll(p => p.PipelineId == PipelineId && p.Active == true); var currentOrder = _stageServices.Find(StageId).OrderStage; if (Moveforward) { try { var nextOrder = stages.Where(a => a.OrderStage > currentOrder).Min(p => p.OrderStage); var nextStage = stages.Where(a => a.OrderStage == nextOrder).FirstOrDefault(); data.StageId = nextStage.StageId; } catch (Exception) { ; } } else { try { var previousOrder = stages.Where(a => a.OrderStage < currentOrder).Max(p => p.OrderStage); var previousStage = stages.Where(a => a.OrderStage == previousOrder).FirstOrDefault(); data.StageId = previousStage.StageId; } catch (Exception) { ; } } try { _dealServices.Update(data); AddNewStage(data.DealId, data.StageId); } catch (Exception e) { return(Json(new { nok = e.InnerException.Message })); } var _data = new UpdateDealViewModel() { Deal = data, Qty = _dealServices.Count(a => a.PipelineId == data.PipelineId && a.StageId == data.StageId), StageId = data.StageId, SubTotal = _dealServices.Query(a => a.PipelineId == data.PipelineId && a.StageId == data.StageId).Select(p => p.UnitPrice).DefaultIfEmpty(0).Sum().Value.ToString("c") }; return(Json(_data)); }