public IHttpActionResult InsertReportColumnData(EntityReportColumn model) { string[] reservedFields = new string[] { "Id", "BusinessId", "ServiceId", "PatientId", "PatientFirstName", "PatientLastName", "SpecimenCollectionDate", "SpecimenReceivedDate", "ReportedDate", "PracticeId", "PracticeName", "ProviderId", "ProviderFirstName", "ProviderLastName", "ProviderNpi", "RepId", "RepFirstName", "RepLastName", "CreatedOn", "CreatedBy", "UpdatedOn", "UpdatedBy", "OldId", "IsColumnValuesImported", "OldReportId" }; if (reservedFields.Contains(model.ColumnName)) { var error = string.Format("{0} is reserved, please choose another column name", model.ColumnName); return(Ok <dynamic>(new { Status = HttpStatusCode.BadRequest, Model = error })); } var response = new DataResponse <EntityReportColumn>(); if (ModelState.IsValid) { model.UpdatedBy = model.CreatedBy = CurrentUserId; model.BusinessId = CurrentBusinessId.Value; if (model.Id > 0) { response = new RepositoryEnrolledServices().UpdateRportColumn(model); } else { response = new RepositoryEnrolledServices().InsertReportColumn(model); } return(Ok <DataResponse>(response)); } else { var errorList = ModelState.Where(a => a.Value.Errors.Any()).Select(s => new { Key = s.Key.Split('.').Last(), Message = s.Value.Errors[0].ErrorMessage }); return(Ok <dynamic>(new { Status = HttpStatusCode.BadRequest, Model = errorList })); } }
public DataResponse <EntityReportColumn> UpdateRportColumn(EntityReportColumn entity) { var response = new DataResponse <EntityReportColumn>(); try { base.DBInit(); if (DBEntity.ReportColumns.FirstOrDefault(a => a.Id != entity.Id && a.BusinessId == entity.BusinessId && a.ServiceId == entity.ServiceId && a.ColumnName.ToLower().Replace(" ", "") == entity.ColumnName.ToLower().Replace(" ", "")) != null) { response.Status = DataResponseStatus.Found; response.Message = "Column name already exists"; response.Id = entity.Id; } else { #region Prepare model var model = DBEntity.ReportColumns.FirstOrDefault(a => a.Id == entity.Id); string oldColumnName = model.ColumnName; model.ServiceId = entity.ServiceId; model.ColumnName = entity.ColumnName.Replace(" ", ""); model.IsMandatory = entity.IsMandatory; model.DisplayInFilter = entity.DisplayInFilter; model.UpdatedBy = entity.UpdatedBy; model.UpdatedOn = entity.UpdatedOn; model.ShowInGrid = entity.ShowInGrid; model.DisplayName = entity.DisplayName; model.ColumnType = entity.ColumnType; model.InputType = entity.InputType; #endregion #region RolePrivileges var RolePrivileges = DBEntity.SalesRolePrivileges.Where(t => t.ColumnId == model.Id).Select(a => a.RoleId).ToList(); foreach (var item in RolePrivileges) { var delete = DBEntity.SalesRolePrivileges.Where(a => a.ColumnId == model.Id & a.RoleId == item).FirstOrDefault(); DBEntity.SalesRolePrivileges.Remove(delete); DBEntity.SaveChanges(); } if (entity.RolePrivilegeIds != null) { foreach (var item in entity.RolePrivilegeIds) { DBEntity.SalesRolePrivileges.Add(new SalesRolePrivilege { ColumnId = model.Id, RoleId = item, CreatedBy = model.CreatedBy, CreatedOn = model.CreatedOn, UpdatedBy = entity.UpdatedBy, UpdatedOn = entity.UpdatedOn }); DBEntity.SaveChanges(); } } #endregion #region DepartmentPrivileges var DepartmentPrivileges = DBEntity.SalesDepartmentPrivileges.Where(t => t.ColumnId == model.Id).Select(a => a.DepartmentId).ToList(); foreach (var item in DepartmentPrivileges) { var delete = DBEntity.SalesDepartmentPrivileges.Where(a => a.ColumnId == model.Id & a.DepartmentId == item).FirstOrDefault(); DBEntity.SalesDepartmentPrivileges.Remove(delete); DBEntity.SaveChanges(); } if (entity.DepartmentPrivilegeIds != null) { foreach (var item in entity.DepartmentPrivilegeIds) { DBEntity.SalesDepartmentPrivileges.Add(new SalesDepartmentPrivilege { ColumnId = model.Id, DepartmentId = item, CreatedBy = model.CreatedBy, CreatedOn = model.CreatedOn, UpdatedBy = entity.UpdatedBy, UpdatedOn = entity.UpdatedOn }); DBEntity.SaveChanges(); } } #endregion #region UserPrivileges var UserPrivileges = DBEntity.SalesUserPrivileges.Where(t => t.ColumnId == model.Id).Select(a => a.UserId).ToList(); foreach (var item in UserPrivileges) { var delete = DBEntity.SalesUserPrivileges.Where(a => a.ColumnId == model.Id & a.UserId == item).FirstOrDefault(); DBEntity.SalesUserPrivileges.Remove(delete); DBEntity.SaveChanges(); } if (entity.UserPrivilegeIds != null) { foreach (var item in entity.UserPrivilegeIds) { DBEntity.SalesUserPrivileges.Add(new SalesUserPrivilege { ColumnId = model.Id, UserId = item, CreatedBy = model.CreatedBy, CreatedOn = model.CreatedOn, UpdatedBy = entity.UpdatedBy, UpdatedOn = entity.UpdatedOn }); DBEntity.SaveChanges(); } } #endregion #region ColumnVisibility var objUserColumnVisibility = DBEntity.UserColumnVisibilities.Where(a => a.BusinessId == entity.BusinessId && a.ColumnName == oldColumnName && a.ServiceId == model.ServiceId); if (objUserColumnVisibility.Count() > 0) { foreach (var item in objUserColumnVisibility) { item.ColumnName = entity.ColumnName; item.DisplayName = entity.DisplayName; } } #endregion if (base.DBSaveUpdate(model) > 0) { return(GetReportColumnById(model.Id)); } else { response.CreateResponse(DataResponseStatus.InternalServerError); } } } catch (Exception ex) { ex.Log(); } finally { base.DBClose(); } return(response); }
public DataResponse <EntityReportColumn> InsertReportColumn(EntityReportColumn entity) { var response = new DataResponse <EntityReportColumn>(); try { base.DBInit(); if (DBEntity.ReportColumns.FirstOrDefault(a => a.BusinessId == entity.BusinessId && a.ServiceId == entity.ServiceId && a.ColumnName.ToLower().Replace(" ", "") == entity.ColumnName.ToLower().Replace(" ", "")) != null) { response.Status = DataResponseStatus.Found; response.Message = "Column name already exists"; response.Id = entity.Id; } else { var model = new Database.ReportColumn { ColumnName = entity.ColumnName.Replace(" ", ""), BusinessId = entity.BusinessId, CreatedBy = entity.CreatedBy, CreatedOn = entity.CreatedOn, ServiceId = entity.ServiceId, DisplayInFilter = entity.DisplayInFilter, IsMandatory = entity.IsMandatory, ShowInGrid = entity.ShowInGrid, DisplayName = entity.DisplayName, ColumnType = entity.ColumnType, InputType = entity.InputType }; if (base.DBSave(model) > 0) { if (entity.RolePrivilegeIds != null && entity.RolePrivilegeIds.Count() > 0) { foreach (var item in entity.RolePrivilegeIds) { DBEntity.SalesRolePrivileges.Add(new SalesRolePrivilege { ColumnId = model.Id, RoleId = item, CreatedBy = entity.CreatedBy, CreatedOn = System.DateTime.UtcNow }); DBEntity.SaveChanges(); } } if (entity.DepartmentPrivilegeIds != null && entity.DepartmentPrivilegeIds.Count() > 0) { foreach (var item in entity.DepartmentPrivilegeIds) { DBEntity.SalesDepartmentPrivileges.Add(new SalesDepartmentPrivilege { ColumnId = model.Id, DepartmentId = item, CreatedBy = entity.CreatedBy, CreatedOn = System.DateTime.UtcNow }); DBEntity.SaveChanges(); } } if (entity.UserPrivilegeIds != null && entity.UserPrivilegeIds.Count() > 0) { foreach (var item in entity.UserPrivilegeIds) { DBEntity.SalesUserPrivileges.Add(new SalesUserPrivilege { ColumnId = model.Id, UserId = item, CreatedBy = entity.CreatedBy, CreatedOn = System.DateTime.UtcNow }); DBEntity.SaveChanges(); } } entity.Id = model.Id; response.CreateResponse(entity, DataResponseStatus.OK); } else { response.CreateResponse(DataResponseStatus.InternalServerError); } } } catch (Exception ex) { ex.Log(); } finally { base.DBClose(); } return(response); }
public IHttpActionResult UpdateReportColumnData(EntityReportColumn model) { string[] reservedFields = new string[] { "Id", "BusinessId", "ServiceId", "PatientId", "PatientFirstName", "PatientLastName", "SpecimenCollectionDate", "SpecimenReceivedDate", "ReportedDate", "PracticeId", "PracticeName", "ProviderId", "ProviderFirstName", "ProviderLastName", "ProviderNpi", "RepId", "RepFirstName", "RepLastName", "CreatedOn", "CreatedBy", "UpdatedOn", "UpdatedBy", "OldId", "IsColumnValuesImported", "OldReportId" }; if (reservedFields.Contains(model.ColumnName)) { var error = string.Format("{0} is reserved, please choose another column name", model.ColumnName); return(Ok <dynamic>(new { Status = HttpStatusCode.BadRequest, Model = error })); } var response = new DataResponse <EntityReportColumn>(); if (ModelState.IsValid) { model.UpdatedBy = model.CreatedBy = CurrentUserId; model.BusinessId = CurrentBusinessId.Value; EntityReportColumn entityReportColumn = new EntityReportColumn(); entityReportColumn.Id = model.Id; entityReportColumn.ColumnName = model.ColumnName.Replace(" ", ""); entityReportColumn.BusinessId = model.BusinessId; entityReportColumn.CreatedBy = model.CreatedBy; entityReportColumn.CreatedOn = System.DateTime.UtcNow; entityReportColumn.UpdatedBy = model.UpdatedBy; entityReportColumn.UpdatedOn = System.DateTime.UtcNow; entityReportColumn.ServiceId = model.ServiceId; entityReportColumn.DisplayInFilter = model.DisplayInFilter; entityReportColumn.IsMandatory = model.IsMandatory; entityReportColumn.ShowInGrid = model.ShowInGrid; entityReportColumn.DisplayName = model.DisplayName; entityReportColumn.ColumnType = model.ColumnType; entityReportColumn.InputType = model.InputType; entityReportColumn.RolePrivilegeIds = new List <int>(); entityReportColumn.DepartmentPrivilegeIds = new List <int>(); entityReportColumn.UserPrivilegeIds = new List <int>(); foreach (var item in model.RolePrivilegeIds) { entityReportColumn.RolePrivilegeIds.Add(item); } foreach (var item in model.DepartmentPrivilegeIds) { entityReportColumn.DepartmentPrivilegeIds.Add(item); } foreach (var item in model.UserPrivilegeIds) { entityReportColumn.UserPrivilegeIds.Add(item); } response = new RepositoryEnrolledServices().UpdateRportColumn(entityReportColumn); return(Ok <DataResponse>(response)); } else { var errorList = ModelState.Where(a => a.Value.Errors.Any()).Select(s => new { Key = s.Key.Split('.').Last(), Message = s.Value.Errors[0].ErrorMessage }); return(Ok <dynamic>(new { Status = HttpStatusCode.BadRequest, Model = errorList })); } }