/// <summary> /// Adds the day type template. /// </summary> /// <param name="name">The name.</param> /// <param name="dayTypeTemplates">The day type templates.</param> /// <returns></returns> public BaseOperationResponse AddDayTypeTemplate(string name, IList<DayTypeTemplateListDto> dayTypeTemplates) { var response = new BaseOperationResponse(); try { var unitOfWork = SWKM.Setup.IoC.Resolve<UnitOfWork>(); var dayTypeTemplate = unitOfWork.DayTypeTemplates.FindBy(u => u.NAME == name && u.DELETEDDATE == null).SingleOrDefault(); if (dayTypeTemplate != null) { response.Successful = false; response.ErrorMessage = "Szablon o takiej nazwie już istnieje."; return response; } var newDayTypeTemplate = new DAYTYPETEMPLATE() { NAME = name }; unitOfWork.DayTypeTemplates.Add(newDayTypeTemplate); unitOfWork.Save(); newDayTypeTemplate = unitOfWork.DayTypeTemplates.FindBy(u => u.NAME == newDayTypeTemplate.NAME && u.DELETEDDATE == null).SingleOrDefault(); //var dayTypes = new List<DAYTYPETEMPLATEDAYTYPE>(); foreach (var dayTypeFromList in dayTypeTemplates) { var dayType = unitOfWork.DayTypes.FindBy(d => d.ID == dayTypeFromList.ID).SingleOrDefault(); if (dayType != null) { var dayTypeTempDayType = new DAYTYPETEMPLATEDAYTYPE() { DAYTYPETEMPLATE = newDayTypeTemplate, DAYTYPE = dayType }; unitOfWork.DayTypeTemplateDayTypes.Add(dayTypeTempDayType); } else { response.Successful = false; response.ErrorMessage = "Wybrany typ dnia nie istnieje."; return response; } } unitOfWork.Save(); response.Successful = true; } catch (Exception e) { SWKM.Setup.Logger.Instance.Log.Error("Error occurred!", e); response.Successful = false; response.ErrorMessage = "Wystapił nie oczekiwany błąd przy dodawaniu szablonu typu dnia."; } return response; }
/// <summary> /// Edits the day type template. /// </summary> /// <param name="dayTypeTemplateId">The day type template id.</param> /// <param name="name">The name.</param> /// <param name="dayTypes">The day type templates.</param> /// <returns></returns> public BaseOperationResponse EditDayTypeTemplate(int id, string name, IList<DayTypeTemplateListDto> dayTypes) { var response = new BaseOperationResponse(); try { var unitOfWork = SWKM.Setup.IoC.Resolve<UnitOfWork>(); var dayTypeTemplate = unitOfWork.DayTypeTemplates.FindBy(u => u.NAME == name && u.DELETEDDATE == null && u.ID != id).SingleOrDefault(); if (dayTypeTemplate != null) { response.Successful = false; response.ErrorMessage = "Szablon o takiej nazwie już istnieje w systemie."; return response; } dayTypeTemplate = unitOfWork.DayTypeTemplates.FindBy(u => u.ID == id).SingleOrDefault(); if (dayTypeTemplate == null) { response.Successful = false; response.ErrorMessage = "Nie ma szablonu o takim identyfikatorze."; return response; } dayTypeTemplate.NAME = name; var toDelete = unitOfWork.DayTypeTemplateDayTypes.FindBy(dt => dt.DAYTYPETEMPLATE.ID == dayTypeTemplate.ID).ToList(); toDelete = toDelete.Where(t => !dayTypes.Any(d => d.ID == t.DAYTYPEID)).ToList(); foreach (var delete in toDelete) { unitOfWork.DayTypeTemplateDayTypes.Delete(delete); } var entityDayTypes = unitOfWork.DayTypeTemplateDayTypes.FindBy(dt => dt.DAYTYPETEMPLATE.ID == dayTypeTemplate.ID).ToList(); foreach (var dayType in dayTypes) { var findedDayType = entityDayTypes.Where(dt => dt.DAYTYPEID == dayType.ID).SingleOrDefault(); if (findedDayType == null) { var dayTypeTempDayType = new DAYTYPETEMPLATEDAYTYPE() { DAYTYPETEMPLATE = dayTypeTemplate, DAYTYPEID = dayType.ID }; unitOfWork.DayTypeTemplateDayTypes.Add(dayTypeTempDayType); } } unitOfWork.Save(); response.Successful = true; } catch (Exception e) { SWKM.Setup.Logger.Instance.Log.Error("Error occurred!", e); response.Successful = false; response.ErrorMessage = "Wystapił nie oczekiwany błąd."; } return response; }