Example #1
0
        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 }));
            }
        }
Example #2
0
        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);
        }
Example #3
0
        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 }));
            }
        }