public static void SetGridColUpdating(UltraWebGrid grid,  AllowUpdate allowupdate)
 {
     grid.Bands[0].AllowUpdate = allowupdate;
 }
        public HttpResponseMessage UpdateProviderInformation(string officeNumber, [FromBody] EmployeeVm providerInfo)
        {
            AllowUpdate allowUpdate = delegate
            {
                ////Deactivate this provider then remove it linked to any patient
                var msg = string.Empty;
                if (providerInfo.Active == false)
                {
                    var practiceInfo = this.officeIt2Manager.GetCompanyInformation(OfficeHelper.GetCompanyId(officeNumber), officeNumber);
                    if (practiceInfo.ContactInformation.Owner != providerInfo.EmployeeId)
                    {
                        var patientIds = PatientManager.GetProvidersPatients(providerInfo.EmployeeId, officeNumber);
                        if (patientIds.Count > 0)
                        {
                            foreach (var t in patientIds)
                            {
                                this.patientIt2Manager.UpdatePatientsDoctor(t, practiceInfo.ContactInformation.Owner);
                            }
                        }
                    }
                    else
                    {
                        msg += "Unable to deactivate this provider because he/she is a current Company Owner.<br/>";
                    }
                }

                return(msg);
            };

            bool valid;
            var  companyId          = this.employeeIt2Manager.GetCompanyId(officeNumber);
            var  userName           = string.Concat(providerInfo.UserName, GetUserNamePlaceHolderValue(companyId));
            var  doesLoginNameExist = CheckForExistingLoginName(userName, companyId);
            ////var doesUserIdExist = CheckForExistingUserId(userName, companyId);
            var    doesProviderIdExist = CheckForExistingProviderId(providerInfo.EmployeeNum, companyId);
            string validationString;

            if (doesProviderIdExist || doesLoginNameExist)
            {
                providerInfo.EmployeeType = EmployeeType.Provider;
                var employee = providerInfo.ToEmployee();
                employee.User.Name = userName;
                var isLoginNameChanged  = this.employeeIt2Manager.CheckIfLoginChanged(employee);
                var isProviderIdChanged = this.employeeIt2Manager.CheckIfProviderIdChanged(employee);

                if (doesProviderIdExist && isProviderIdChanged && doesLoginNameExist && isLoginNameChanged)
                {
                    validationString = "The ID already exists in the system. Enter a unique ID.<br/>"
                                       + "The updated Login Name already exists in the system. Enter a unique Login Name.";
                }
                else if (doesProviderIdExist && isProviderIdChanged)
                {
                    validationString = "The ID already exists in the system. Enter a unique ID.";
                }
                else if (doesLoginNameExist && isLoginNameChanged)
                {
                    validationString = "The updated Login Name already exists in the system. Enter a unique Login Name.";
                }
                else
                {
                    validationString = allowUpdate();
                    valid            = validationString == string.Empty;
                    if (valid)
                    {
                        this.employeeIt2Manager.UpdateProvider(employee, officeNumber);
                        this._UpdateEmployeeOffices(providerInfo, employee, false);

                        return(this.Request.CreateResponse(
                                   HttpStatusCode.OK,
                                   new
                        {
                            validationmessage = "Provider Updated Successfully.",
                            employeeId = employee.EmployeeId,
                            userId = employee.UserId
                        }));
                    }
                }
            }
            else
            {
                validationString = allowUpdate();
                valid            = validationString == string.Empty;
                if (valid)
                {
                    providerInfo.EmployeeType = EmployeeType.Provider;
                    var employee = providerInfo.ToEmployee();
                    employee.User.Name = userName;
                    this.employeeIt2Manager.UpdateProvider(employee, officeNumber);

                    return(this.Request.CreateResponse(
                               HttpStatusCode.OK,
                               new
                    {
                        validationmessage = "Provider Updated Successfully.",
                        employeeId = employee.EmployeeId,
                        userId = employee.UserId
                    }));
                }
            }

            Logger.Error("UpdateProviderInformation: " + validationString);
            return(this.Request.CreateResponse(HttpStatusCode.BadRequest, new { validationmessage = validationString }));
        }