private StateCityRepository() { //this.context = context; context = new FDTContext(); }
public void saveCity(City entity) { List<Commons.LogHistory> logs = null; Lib.Repositories.LogHistoryRepository log = new LogHistoryRepository(this.ActiveUser); try { context = new FDTContext(); if (entity.Id == 0) { context.Cities.Add(entity); } else { //Recuperando a cidade do banco var city = getCityInstanceById(entity.Id); //salva o log. //logs = log.getLogsHistory(period, entity, ActiveUser, "Id", "Name", Enumerations.EntityType.Period); city.Name = entity.Name; city.StateId = entity.StateId; } context.SaveChanges(); if (logs != null) { log.saveLogs(logs); } } catch (DbEntityValidationException ex) { //Adiciona na lista de erros os erros de DataAnnotation addErrorMessage(ex); } catch (Exception ex) { Log.ErrorLog.saveError("Lib.Repositories.StateCityRepository.saveCity", ex); throw new Exception("Lib.Repositories.StateCityRepository.saveCity - " + ex.Message, ex); } }
public StateCityRepository(Lib.Entities.User activeUser) { this.ActiveUser = activeUser; context = new FDTContext(); }
/// <summary> /// Salva uma entidade /// </summary> /// <param name="entity">Entidade</param> public void save(Period entity) { List<Commons.LogHistory> logs = null; Lib.Repositories.LogHistoryRepository log = new LogHistoryRepository(this.ActiveUser); try { context = new FDTContext(); validatePeriod(entity); if (entity.Id == 0) { context.Periods.Add(entity); } else { //Recuperando o questionário do banco var period = context.Periods.Where(e => e.Id == entity.Id).FirstOrDefault(); //salva o log. //logs = log.getLogsHistory(period, entity, ActiveUser, "Id", "Name", Enumerations.EntityType.Period); period.Name = entity.Name; period.FinalDate = entity.FinalDate; period.InitialDate = entity.InitialDate; period.ConvocationInitialDate = entity.ConvocationInitialDate; period.ConvocationFinalDate = entity.ConvocationFinalDate; period.Open = entity.Open; period.Published = entity.Published; } context.SaveChanges(); if (logs != null) { log.saveLogs(logs); } } catch (DbEntityValidationException ex) { //Adiciona na lista de erros os erros de DataAnnotation addErrorMessage(ex); } catch (Exception ex) { Log.ErrorLog.saveError("Lib.Repositories.PeriodRepository.save", ex); throw new Exception("Lib.Repositories.PeriodRepository.save - " + ex.Message, ex); } }
private PeriodRepository() { //this.context = context; context = new FDTContext(); }
/// <summary> /// Salva uma entidade /// </summary> /// <param name="entity">Entidade</param> public void save(ResponseForm entity, bool submitForm = true) { List<Commons.LogHistory> logs = null; Lib.Repositories.LogHistoryRepository log = new LogHistoryRepository(this.ActiveUser); try { context = new FDTContext(); if (entity.Id == 0) { if (this.ActiveUser.UserTypeEnum == Enumerations.UserType.Entity) { //Cria uma submissão com status submitted if (submitForm) { if (entity.Submits == null) entity.Submits = new List<Submit>(); entity.Submits.Add(new Submit() { Date = DateTime.Now, Status = (int)Lib.Enumerations.SubmitStatus.Submitted, Observation = String.Empty }); } } context.ResponseForms.Add(entity); } else { var entityAux = context.ResponseForms.Include("Answers").Include("Submits").Where(e => e.Id == entity.Id).FirstOrDefault(); entityAux.CityId = entity.CityId; if (entityAux != null) { //Atualiza apenas as notas e observações das perguntas\ entityAux.Answers.ForEach(ans => { var answerUpdated = entity.Answers.Where(an => an.Id == ans.Id).FirstOrDefault(); if (answerUpdated != null) { ans.Observation = answerUpdated.Observation; ans.Score = answerUpdated.Score; } }); } if (this.ActiveUser.UserTypeEnum == Enumerations.UserType.Entity) { //Cria uma submissão com status submitted if (submitForm) { if (entityAux.Submits == null) entityAux.Submits = new List<Submit>(); entityAux.Submits.Add(new Submit() { Date = DateTime.Now, Status = (int)Lib.Enumerations.SubmitStatus.Submitted, Observation = String.Empty }); } } //Adiciona as novas questões se houverem entityAux.Answers.AddRange(entity.Answers.Where(a => a.Id == 0).ToList()); } context.SaveChanges(); //refaz os cálculos e salva novamente. var rf = getInstanceById(entity.Id); rf.calculateTotalScore(); context.SaveChanges(); if (logs != null) { log.saveLogs(logs); } } catch (DbEntityValidationException ex) { //Adiciona na lista de erros os erros de DataAnnotation addErrorMessage(ex); } catch (Exception ex) { Log.ErrorLog.saveError("Lib.Repositories.ResponseFormRepository.save", ex); throw new Exception("Lib.Repositories.ResponseFormRepository.save - " + ex.Message, ex); } }
public PeriodRepository(Lib.Entities.User activeUser) { this.ActiveUser = activeUser; context = new FDTContext(); }
private ResponseFormRepository() { //this.context = context; context = new FDTContext(); }
public ResponseFormRepository(Lib.Entities.User activeUser) { this.ActiveUser = activeUser; context = new FDTContext(); }
/// <summary> /// Salva uma entidade /// </summary> /// <param name="entity">Entidade</param> public void save(Entities.User entity) { List<Commons.LogHistory> logs = null; Lib.Repositories.LogHistoryRepository log = new LogHistoryRepository(this.ActiveUser); try { context = new FDTContext(); //Caso um usuário seja editado ou criado com o tipo de entidades, o usuario ativo deve ser do tipo administrador master ou administrador, caso contrário lançar exceção if (entity.UserTypeEnum == Enumerations.UserType.Entity) { if (this.ActiveUser.UserTypeEnum != Enumerations.UserType.Admin && this.ActiveUser.UserTypeEnum != Enumerations.UserType.Master && this.ActiveUser.Id != entity.Id && this.ActiveUser.UserTypeEnum != Enumerations.UserType.Site) throw new DbEntityValidationException(String.Format(Resources.Messages.entity_users_update_or_create_not_allowed_by, this.ActiveUser.UserType)); } if (entity.Id == 0) { //Não podem ser inseridos novos usuarios do tipo administrador master if (entity.UserTypeEnum == Enumerations.UserType.Master) throw new DbEntityValidationException(Resources.Messages.master_admin_creation_not_allowed); //Caso o usuário novo seja um administrador, apenas outro administrador/master deve ser o criador if (entity.UserTypeEnum == Enumerations.UserType.Admin) { if (this.ActiveUser.UserTypeEnum != Enumerations.UserType.Master) throw new DbEntityValidationException(Resources.Messages.just_master_admin_can_be_create_admin_users); } //Caso um usuário do tipo outros seja criado, o usuário ativo deve ser do tipo SITE, ADMINISTRADOR ou ADM MASTER if (entity.UserTypeEnum == Enumerations.UserType.Others) { if (this.ActiveUser.UserTypeEnum != Enumerations.UserType.Site && this.ActiveUser.UserTypeEnum != Enumerations.UserType.Admin && this.ActiveUser.Id != entity.Id && this.ActiveUser.UserTypeEnum != Enumerations.UserType.Master) throw new DbEntityValidationException(String.Format(Resources.Messages.other_users_creation_not_allowed_by, this.ActiveUser.UserType)); } ////Se o usuário for do tipo entidade, cria a entity com o nome do usuário //if (entity.UserTypeEnum == Lib.Enumerations.UserType.Entity) //{ // entity.Entity = new Lib.Entities.Entity(); // entity.Entity.Name = entity.Name; //} context.Users.Add(entity); } else { //Caso um usuário do tipo outros seja atualizado, o usuário ativo deve ser do tipo ADMINISTRADOR, ADM MASTER ou seja ele mesmo, caso contrário lançar exceção. //Adicionado o usuario ativo do tipo SITE tbm. if (entity.UserTypeEnum == Enumerations.UserType.Others) { if (this.ActiveUser.UserTypeEnum != Enumerations.UserType.Admin && this.ActiveUser.UserTypeEnum != Enumerations.UserType.Master && this.ActiveUser.Id != entity.Id && this.ActiveUser.UserTypeEnum != Enumerations.UserType.Site) throw new DbEntityValidationException(String.Format(Resources.Messages.other_users_update_not_allowed_by, this.ActiveUser.UserType)); } //Recuperando o usuário do banco var user = getInstanceById(entity.Id); //context.BaseForms.Include("BaseBlocks").Include("Period").Where(e => e.Id == entity.Id).FirstOrDefault(); user.Name = entity.Name; user.Email = entity.Email; user.Thumb = entity.Thumb; user.Mime = entity.Mime; user.Active = entity.Active; user.Password = entity.Password; user.Organization = entity.Organization; user.TermsOfUse = entity.TermsOfUse; user.AcceptionTermsDate = entity.AcceptionTermsDate; user.Address = entity.Address; user.Area = entity.Area; user.CityId = entity.CityId; user.CNPJ = entity.CNPJ; user.ContactName = entity.ContactName; user.Nature = entity.Nature; user.Neighborhood = entity.Neighborhood; user.Network = entity.Network; user.Number = entity.Number; user.Phone = entity.Phone; user.Range = entity.Range; user.Region = entity.Region; user.WebSite = entity.WebSite; user.ZipCode = entity.ZipCode; user.ContactEmail = entity.ContactEmail; user.Network = false; if (user.UserTypeEnum == Enumerations.UserType.Entity) { if (!entity.Network) { //Não é credenciado user.Network = false; user.NetworkApprovedById = null; user.NetworkApproved = false; } else { //É credenciada user.Network = entity.Network; if (!user.NetworkApproved) { if (entity.NetworkApproved) { //foi aprovado user.NetworkApproved = entity.NetworkApproved; user.NetworkApprovedById = this.ActiveUser.Id; } else { //Continua não aprovado user.NetworkApproved = false; user.NetworkApprovedById = null; } } else { if (!entity.NetworkApproved) { //Foi desaprovado user.NetworkApproved = false; user.NetworkApprovedById = null; } } } } ////salva o log. //logs = log.getLogsHistory(baseForm, entity, ActiveUser, "Id", "Name", Enumerations.EntityType.BaseForm); } context.SaveChanges(); if (logs != null) { log.saveLogs(logs); } } catch (DbEntityValidationException ex) { //Adiciona na lista de erros os erros de DataAnnotation addErrorMessage(ex); } catch (Exception ex) { Log.ErrorLog.saveError("Lib.Repositories.UserRepository.save", ex); throw new Exception("Lib.Repositories.UserRepository.save - " + ex.Message, ex); } }
private UserRepository() { //this.context = context; context = new FDTContext(); }
/// <summary> /// Salva uma entidade do tipo master /// </summary> /// <param name="entity">Entidade</param> public void createUserMaster(Entities.User entity) { try { context = new FDTContext(); if (entity.Id == 0) { context.Users.Add(entity); context.SaveChanges(); } } catch (DbEntityValidationException ex) { //Adiciona na lista de erros os erros de DataAnnotation addErrorMessage(ex); } catch (Exception ex) { Log.ErrorLog.saveError("Lib.Repositories.UserRepository.save", ex); throw new Exception("Lib.Repositories.UserRepository.save - " + ex.Message, ex); } }