public void Save(ServiceRegisterViewModel model, Guid idAccount) { var service = ConvertService.FromServiceRegisterViewModel(model); service.IdAccount = idAccount; //Cuando es un nuevo servicio if (service.Id == Guid.Empty) { _serviceDao.InsertOrUpdate(service); _redisCache.flush(service.Id.ToString()); } //Cuando es un servicio existente else { var exService = _serviceDao.GetOne(service.Id, idAccount); PropertyCopy.Copy(service, exService); service = null; //_serviceDao.Context.SaveChanges(); //_serviceDao.InsertOrUpdate(exService); UpdateEntireService(exService, idAccount); foreach (var item in _serviceDao.Getcampaign(exService.Id)) { _redisCache.flush("CampaignServices:" + item.IdCampaign.ToString()); } } //UpdateEntireService(service, idAccount); }
public void Save(ServiceRegisterViewModel model, Guid idAccount) { var service = ConvertService.FromServiceRegisterViewModel(model); service.IdAccount = idAccount; //Cuando es un nuevo servicio if (service.Id == Guid.Empty) { _serviceDao.InsertOrUpdate(service); } //Cuando es un servicio existente else { var exService = _serviceDao.GetOne(service.Id, idAccount); PropertyCopy.Copy(service, exService); service = null; //_serviceDao.Context.SaveChanges(); //_serviceDao.InsertOrUpdate(exService); UpdateEntireService(exService, idAccount); } //UpdateEntireService(service, idAccount); }
public void AddQuestion(ServiceRegisterViewModel model, Guid idAccount) { var service = ConvertService.FromServiceRegisterViewModel(model); service = GenerateQuestion(service, CService.LastQuestion, Guid.Parse(model.CurrentSection), Guid.Empty); UpdateEntireService(service, idAccount); }
public void DeleteSection(ServiceRegisterViewModel model, Guid idAccount) { var service = ConvertService.FromServiceRegisterViewModel(model); var section = service.ServiceDetails.FirstOrDefault(s => s.Id == Guid.Parse(model.CurrentSection)); section.StatusRegister = CStatusRegister.Delete; _serviceDetailDao.InsertOrUpdate(section); }
public void AddSectionAfter(ServiceRegisterViewModel model, Guid idAccount) { var service = ConvertService.FromServiceRegisterViewModel(model); service = GenerateSection(service, CService.AfterSection, Guid.Parse(model.CurrentSection)); UpdateEntireService(service, idAccount); }
public ServiceRegisterViewModel AddSubSection(ServiceRegisterViewModel model, Guid idAccount) { var service = ConvertService.FromServiceRegisterViewModel(model); service = GenerateSubSection(service, Guid.Parse(model.CurrentSection)); return(GetServiceRegisterModel(idAccount, service.Id)); }
public void AddAnswerAfter(ServiceRegisterViewModel model, Guid idAccount) { var service = ConvertService.FromServiceRegisterViewModel(model); service = GenerateAnswer(service, CService.AfterAnswer, Guid.Parse(model.CurrentSection), Guid.Parse(model.CurrentQuestion), Guid.Parse(model.CurrentAnswer)); UpdateEntireService(service, idAccount); }
public void DeleteAnswer(ServiceRegisterViewModel model, Guid idAccount) { var service = ConvertService.FromServiceRegisterViewModel(model); var section = service.ServiceDetails.FirstOrDefault(s => s.Id == Guid.Parse(model.CurrentSection)); var question = section.Questions.FirstOrDefault(q => q.Id == Guid.Parse(model.CurrentQuestion)); var answer = question.QuestionDetails.FirstOrDefault(q => q.Id == Guid.Parse(model.CurrentAnswer)); answer.StatusRegister = CStatusRegister.Delete; _questionDetailDao.InsertOrUpdate(answer); }
public ServiceRegisterViewModel AddSection(ServiceRegisterViewModel model, Guid idAccount) { var service = ConvertService.FromServiceRegisterViewModel(model); service = GenerateSection(service, CService.LastSection, Guid.Empty); service = UpdateEntireService(service, idAccount); return(GetServiceRegisterModel(idAccount, service.Id)); }
public void DuplicateSection(ServiceRegisterViewModel model, Guid idAccount) { var service = ConvertService.FromServiceRegisterViewModel(model); var section = GetCurrentSection(service, Guid.Parse(model.CurrentSection)); if (section.IdSection == Guid.Empty || section.IdSection == null) { var beforeSections = service.ServiceDetails.Where(s => s.Order <= section.Order).OrderBy(s => s.Order).ToList(); var afterSections = service.ServiceDetails.Where(s => s.Order > section.Order).OrderBy(s => s.Order).ToList(); service.ServiceDetails.Clear(); service.ServiceDetails.AddRange(beforeSections); section.Id = Guid.Empty; section.Questions.ForEach(q => q.Id = Guid.Empty); section.Questions.ForEach(q => q.QuestionDetails.ForEach(d => d.Id = Guid.Empty)); section.Sections.ForEach(a => a.Id = Guid.Empty); section.Sections.ForEach(a => a.Questions.ForEach(q => q.Id = Guid.Empty)); section.Sections.ForEach(a => a.Questions.ForEach(q => q.QuestionDetails.ForEach(d => d.Id = Guid.Empty))); service.ServiceDetails.Add(section); service.ServiceDetails.AddRange(afterSections); } else { var serviceDetail = service.ServiceDetails.FirstOrDefault(s => s.Id == section.IdSection); var beforeSections = serviceDetail.Sections.Where(s => s.Order <= section.Order).OrderBy(s => s.Order).ToList(); var afterSections = serviceDetail.Sections.Where(s => s.Order > section.Order).OrderBy(s => s.Order).ToList(); serviceDetail.Sections.Clear(); serviceDetail.Sections.AddRange(beforeSections); section.Id = Guid.Empty; section.Questions.ForEach(q => { q.Id = Guid.Empty; q.IdServiceDetail = Guid.Empty; }); section.Questions.ForEach(q => q.QuestionDetails.ForEach(d => { d.Id = Guid.Empty; d.IdQuestion = Guid.Empty; })); section = _serviceDetailDao.InsertOrUpdate(section); var newSection = _serviceDetailDao.GetNotTracked(section.Id, idAccount); if (newSection == null) { } newSection.Questions.ForEach(q => { q.ServiceDetail = null; q.QuestionDetails.ForEach(d => { d.Question = null; }); }); serviceDetail.Sections.Add(newSection); serviceDetail.Sections.AddRange(afterSections); var beforeDetails = service.ServiceDetails.Where(s => s.Order < serviceDetail.Order).OrderBy(s => s.Order).ToList(); var afterDetails = service.ServiceDetails.Where(s => s.Order > serviceDetail.Order).OrderBy(s => s.Order).ToList(); service.ServiceDetails.Clear(); service.ServiceDetails.AddRange(beforeDetails); service.ServiceDetails.Add(serviceDetail); service.ServiceDetails.AddRange(afterDetails); } //UpdateEntireService(service, idAccount); }