Пример #1
0
        public ResponseViewModel CreateTemplateForWeek(ScheduleTemplateViewModel model)
        {
            try
            {
                var templateRepo  = _uow.GetService <IScheduleTemplateRepository>();
                var templateDRepo = _uow.GetService <IScheduleTemplateDetailsRepository>();

                var template = _mapper.Map <ScheduleTemplate>(model);
                template.DateCreated = DateTime.Now;
                template.DateUpdated = DateTime.Now;
                templateRepo.CreateTemplate(template);
                _uow.Save();

                var details = _mapper.Map <List <ScheduleTemplateDetails> >(model.Details);
                foreach (var item in details)
                {
                    item.ScheduleTemplateId = template.Id;
                }

                templateDRepo.CreateTemplateDetails(details);
                _uow.Save();

                return(new ResponseViewModel {
                    Message = "Create successfull", Success = true
                });
            }
            catch (Exception e)
            {
                return(new ResponseViewModel {
                    Success = false, Message = e.Message
                });
            }
        }
Пример #2
0
        public ResponseViewModel UpdateTempalteForWeek(ScheduleTemplateViewModel model)
        {
            try
            {
                var templateRepo  = _uow.GetService <IScheduleTemplateRepository>();
                var templateDRepo = _uow.GetService <IScheduleTemplateDetailsRepository>();

                var template = _mapper.Map <ScheduleTemplate>(model);
                template.DateUpdated = DateTime.Now;
                templateRepo.UpdateTemplate(template);

                var oldDetails = templateDRepo.GetTemplateDetais(model.Id).ToList();
                var newDetails = _mapper.Map <List <ScheduleTemplateDetails> >(model.Details);
                foreach (var item in newDetails)
                {
                    if (item.Id != 0)
                    {
                        foreach (var detail in oldDetails)
                        {
                            if (item.Id == detail.Id)
                            {
                                templateDRepo.ActiveTemplateDetail(detail);
                                oldDetails.Remove(detail);
                                break;
                            }
                            else
                            {
                                templateDRepo.DeactiveTemplateeDetail(detail);
                            }
                        }
                    }
                    else
                    {
                        item.ScheduleTemplateId = model.Id;
                        item.ScheduleTemplate   = null;
                        item.Specialty          = null;
                        templateDRepo.CreateTemplateDetail(item);
                    }
                }

                foreach (var item in oldDetails)
                {
                    templateDRepo.DeactiveTemplateeDetail(item);
                }


                _uow.Save();

                return(new ResponseViewModel {
                    Message = "Update successfull", Success = true
                });
            }
            catch (Exception e)
            {
                return(new ResponseViewModel {
                    Message = e.Message, Success = false
                });
            }
        }
        public IActionResult UpdateScheduleForWeek([FromBody] ScheduleTemplateViewModel model)
        {
            try
            {
                var templateDomain = Service <IScheduleTemplateDomain>();
                var result         = templateDomain.UpdateTempalteForWeek(model);

                return(Ok(result));
            }
            catch (Exception e)
            {
                return(StatusCode(500, new ResponseViewModel {
                    Message = e.Message, Success = false
                }));
            }
        }