Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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);
        }
Exemple #5
0
        public void AddSectionAfter(ServiceRegisterViewModel model, Guid idAccount)
        {
            var service = ConvertService.FromServiceRegisterViewModel(model);

            service = GenerateSection(service, CService.AfterSection, Guid.Parse(model.CurrentSection));

            UpdateEntireService(service, idAccount);
        }
Exemple #6
0
        public ServiceRegisterViewModel AddSubSection(ServiceRegisterViewModel model, Guid idAccount)
        {
            var service = ConvertService.FromServiceRegisterViewModel(model);

            service = GenerateSubSection(service, Guid.Parse(model.CurrentSection));

            return(GetServiceRegisterModel(idAccount, service.Id));
        }
Exemple #7
0
        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);
        }
Exemple #8
0
        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);
        }
Exemple #9
0
        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));
        }
Exemple #10
0
        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);
        }