/// <summary>
        /// Add New or Update the SuppliesDotComParameters based on if we pass the SuppliesDotComParameters ID in the SuppliesDotComParametersViewModel object.
        /// </summary>
        /// <param name="model"></param>
        /// <returns>returns the newly added or updated ID of SuppliesDotComParameters row</returns>
        public JsonResult SaveSuppliesDotComParameters(BillingSystemParameters model)
        {
            var id = -1;
            //Initialize the newId variable
            var userId      = Helpers.GetLoggedInUserId();
            var currentDate = Helpers.GetInvariantCultureDateTime();

            //Check if Model is not null
            if (model != null)
            {
                using (var bal = new SuppliesDotComParametersBal())
                {
                    ///*
                    // * in case table number of logged-in user's Facility and Corporate is updated, it updates the same in the session.
                    // */
                    //if (model.FacilityNumber.Trim().Equals(Helpers.GetDefaultFacilityNumber()) && model.CorporateId == Helpers.GetSysAdminCorporateID())
                    //{
                    //    var objSession = Session[SessionNames.SessionClass.ToString()] as SessionClass;
                    //    if (objSession != null)
                    //        objSession.TableNumber = !string.IsNullOrEmpty(model.TableNumber)
                    //            ? model.TableNumber
                    //            : "1001";
                    //}

                    if (model.Id > 0)
                    {
                        model.ModifiedBy   = userId;
                        model.ModifiedDate = currentDate;
                    }
                    else
                    {
                        model.CreatedBy   = userId;
                        model.CreatedDate = currentDate;
                        //model.CorporateId = model.CorporateId;
                        model.IsActive = true;
                    }

                    //Call the AddSuppliesDotComParameters Method to Add / Update current SuppliesDotComParameters
                    id = bal.SaveSuppliesDotComParameters(model);
                }
            }
            return(Json(id));
        }
        /// <summary>
        /// Get the details of the current SuppliesDotComParameters in the view model by ID
        /// </summary>
        /// <returns></returns>
        public JsonResult GetSuppliesDotComParametersDetails(string facilityNumber, int corporateId)
        {
            using (var bal = new SuppliesDotComParametersBal())
            {
                //Call the AddSuppliesDotComParameters Method to Add / Update current SuppliesDotComParameters
                var data = bal.GetDetailsByCorporateAndFacility(corporateId, facilityNumber);

                var jsonResult = new
                {
                    data.Id,
                    EffectiveDate           = data.EffectiveDate.GetShortDateString1(),
                    EndDate                 = data.EndDate.GetShortDateString1(),
                    OupatientCloseBillsTime = data.OupatientCloseBillsTime.GetTimeStringFromDateTime(),
                    data.FacilityNumber,
                    data.BillHoldDays,
                    data.ARGLacct,
                    data.MgdCareGLacct,
                    data.BadDebtGLacct,
                    data.SmallBalanceGLacct,
                    data.SmallBalanceAmount,
                    data.SmallBalanceWriteoffDays,
                    data.ERCloseBillsHours,
                    data.IsActive,
                    data.ExternalValue1,
                    data.ExternalValue2,
                    data.ExternalValue3,
                    data.ExternalValue4,
                    data.CorporateId,
                    data.CPTTableNumber,
                    data.ServiceCodeTableNumber,
                    data.DrugTableNumber,
                    data.DRGTableNumber,
                    data.DiagnosisTableNumber,
                    data.HCPCSTableNumber,
                    data.BillEditRuleTableNumber,
                    data.DefaultCountry
                };

                //Pass the ActionResult with the current SuppliesDotComParametersViewModel object as model to PartialView SuppliesDotComParametersAddEdit
                return(Json(jsonResult, JsonRequestBehavior.AllowGet));
            }
        }
コード例 #3
0
        /// <summary>
        /// Sets the user role.
        /// </summary>
        /// <param name="roleId">The role identifier.</param>
        /// <param name="facilityId">The facility identifier.</param>
        /// <param name="corporateId">The corporate identifier.</param>
        /// <returns></returns>
        public ActionResult SetUserRole(int roleId, int facilityId, int corporateId)
        {
            SessionClass objSession = null;

            if (Session[SessionNames.SessionClass.ToString()] != null)
            {
                objSession             = Session[SessionNames.SessionClass.ToString()] as SessionClass;
                objSession.FacilityId  = facilityId;
                objSession.RoleId      = roleId;
                objSession.CorporateId = corporateId;
                //using (var mBal = new ModuleAccessBal())
                //{
                //    var mList = mBal.GetModulesAccessList(corporateId, facilityId);
                //    Session[SessionNames.SessoionModuleAccess.ToString()] = mList;
                //}

                // Changed by Shashank ON : 5th May 2015 : To add the Module access level Security when user log in via Facility and Corporate
                using (var userbal = new UsersBal())
                    objSession.MenuSessionList = userbal.GetTabsByUserIdRoleId(objSession.UserId, objSession.RoleId, objSession.FacilityId, objSession.CorporateId, isDeleted: false, isActive: true);

                using (var rtBal = new RoleTabsBal())
                {
                    objSession.IsPatientSearchAccessible = rtBal.CheckIfTabNameAccessibleToGivenRole("Patient Lookup",
                                                                                                     ControllerAccess.PatientSearch.ToString(), ActionNameAccess.PatientSearch.ToString(),
                                                                                                     Convert.ToInt32(roleId));
                    objSession.IsAuthorizationAccessible =
                        rtBal.CheckIfTabNameAccessibleToGivenRole("Obtain Insurance Authorization",
                                                                  ControllerAccess.Authorization.ToString(),
                                                                  ActionNameAccess.AuthorizationMain.ToString(), Convert.ToInt32(roleId));
                    objSession.IsActiveEncountersAccessible =
                        rtBal.CheckIfTabNameAccessibleToGivenRole("Active Encounters",
                                                                  ControllerAccess.ActiveEncounter.ToString(),
                                                                  ActionNameAccess.ActiveEncounter.ToString(),
                                                                  Convert.ToInt32(roleId));
                    objSession.IsBillHeaderViewAccessible =
                        rtBal.CheckIfTabNameAccessibleToGivenRole("Generate Preliminary Bill",
                                                                  ControllerAccess.BillHeader.ToString(),
                                                                  ActionNameAccess.Index.ToString(), Convert.ToInt32(roleId));
                    objSession.IsEhrAccessible =
                        rtBal.CheckIfTabNameAccessibleToGivenRole("EHR",
                                                                  ControllerAccess.Summary.ToString(),
                                                                  ActionNameAccess.PatientSummary.ToString(), Convert.ToInt32(roleId));

                    objSession.SchedularAccessible =
                        rtBal.CheckIfTabNameAccessibleToGivenRole("Scheduling", string.Empty, string.Empty,
                                                                  Convert.ToInt32(roleId));
                }
            }
            else
            {
                objSession = new SessionClass
                {
                    FacilityId  = facilityId,
                    RoleId      = roleId,
                    CorporateId = corporateId
                };
            }

            var userBal     = new UsersBal();
            var userDetails = userBal.GetUserDetails(roleId, facilityId, objSession.UserId);

            objSession.RoleName        = userDetails.RoleName;
            objSession.FacilityName    = userDetails.DefaultFacility;
            objSession.UserName        = userDetails.UserName;
            objSession.FacilityNumber  = userDetails.FacilityNumber;
            objSession.UserIsAdmin     = userDetails.UserIsAdmin;
            objSession.SelectedCulture = CultureInfo.CurrentCulture.Name;
            objSession.RoleKey         = userDetails.RoleKey;

            if (objSession.MenuSessionList != null || !objSession.MenuSessionList.Any())
            {
                // Changed by Shashank ON : 5th May 2015 : To add the Module access level Security when user log in via Facility and Corporate
                using (var userbal = new UsersBal())
                    objSession.MenuSessionList = userbal.GetTabsByUserIdRoleId(objSession.UserId, objSession.RoleId, objSession.FacilityId, objSession.CorporateId, isDeleted: false, isActive: true);
            }
            using (var facilitybal = new FacilityBal())
            {
                var facilityObj   = facilitybal.GetFacilityByFacilityId(facilityId);
                var timezoneValue = facilityObj.FacilityTimeZone;
                if (!string.IsNullOrEmpty(timezoneValue))
                {
                    var timezoneobj = TimeZoneInfo.FindSystemTimeZoneById(timezoneValue);
                    objSession.TimeZone = timezoneobj.BaseUtcOffset.TotalHours.ToString();
                }
                else
                {
                    objSession.TimeZone = "0.0";
                }
            }


            /*
             * By: Amit Jain
             * On: 24082015
             * Purpose: Setting up the table numbers for the Billing Codes
             */
            //----Billing Codes' Table Number additions start here---------------
            if (objSession.CorporateId > 0 && !string.IsNullOrEmpty(objSession.FacilityNumber))
            {
                using (var bBal = new SuppliesDotComParametersBal())
                {
                    var currentParameter = bBal.GetDetailsByCorporateAndFacility(
                        objSession.CorporateId, objSession.FacilityNumber);
                    var cDetails = new Corporate();
                    using (var cBal = new CorporateBal())
                        cDetails = cBal.GetCorporateById(objSession.CorporateId);

                    if (objSession.UserId != 1)
                    {
                        objSession.CptTableNumber =
                            currentParameter != null && !string.IsNullOrEmpty(currentParameter.CPTTableNumber)
                                ? currentParameter.CPTTableNumber
                                : cDetails.DefaultCPTTableNumber;

                        objSession.ServiceCodeTableNumber =
                            currentParameter != null && !string.IsNullOrEmpty(currentParameter.ServiceCodeTableNumber)
                                ? currentParameter.ServiceCodeTableNumber
                                : cDetails.DefaultServiceCodeTableNumber;

                        objSession.DrugTableNumber =
                            currentParameter != null && !string.IsNullOrEmpty(currentParameter.DrugTableNumber)
                                ? currentParameter.DrugTableNumber
                                : cDetails.DefaultDRUGTableNumber;

                        objSession.DrgTableNumber =
                            currentParameter != null && !string.IsNullOrEmpty(currentParameter.DRGTableNumber)
                                ? currentParameter.DRGTableNumber
                                : cDetails.DefaultDRGTableNumber;

                        objSession.HcPcsTableNumber =
                            currentParameter != null && !string.IsNullOrEmpty(currentParameter.HCPCSTableNumber)
                                ? currentParameter.HCPCSTableNumber
                                : cDetails.DefaultHCPCSTableNumber;

                        objSession.DiagnosisCodeTableNumber =
                            currentParameter != null && !string.IsNullOrEmpty(currentParameter.DiagnosisTableNumber)
                                ? currentParameter.DiagnosisTableNumber
                                : cDetails.DefaultDiagnosisTableNumber;

                        objSession.BillEditRuleTableNumber =
                            currentParameter != null && !string.IsNullOrEmpty(currentParameter.BillEditRuleTableNumber)
                                                    ? currentParameter.BillEditRuleTableNumber
                                                    : cDetails.BillEditRuleTableNumber;

                        objSession.DefaultCountryId = currentParameter.DefaultCountry > 0
                            ? currentParameter.DefaultCountry : 45;
                    }
                    else
                    {
                        objSession.CptTableNumber           = "0";
                        objSession.ServiceCodeTableNumber   = "0";
                        objSession.DrugTableNumber          = "0";
                        objSession.DrgTableNumber           = "0";
                        objSession.HcPcsTableNumber         = "0";
                        objSession.DiagnosisCodeTableNumber = "0";
                        objSession.BillEditRuleTableNumber  = "0";
                    }
                }
            }
            //----Billing Codes' Table Number additions end here---------------

            Session[SessionNames.SessionClass.ToString()] = objSession;
            return(Json(0));
            //return RedirectToAction("PatientSearch", "PatientSearch");
        }
コード例 #4
0
        public void CreateCorporate()
        {
            using (var corporateBal = new CorporateBal())
            {
                this.model.CorporateName           = this.GetRandomString(10);
                this.model.CorporateNumber         = this.GetRandomStringNumber(4);
                this.model.CountryID               = "45";
                this.model.StateID                 = "3";
                this.model.CityID                  = "3";
                this.model.CreatedBy               = 9999;
                this.model.CreatedDate             = DateTime.Now;
                this.model.DefaultCPTTableNumber   = "4010";
                this.model.BillEditRuleTableNumber = "100";

                corporateBal.AddUptdateCorporate(this.model); // ... Create new corporate
                int corporateId = this.model.CorporateID;

                IEnumerable <Facility> facilitylistObj = new FacilityBal().GetFacilitiesByCorpoarteId(corporateId);

                // .... Get the facilities for the newly created Corporate
                Assert.IsNotNull(facilitylistObj);    // .... check if the cororate facility created on not
                Assert.IsTrue(facilitylistObj.Any()); // .... check if there is any oject in the list
                if (facilitylistObj.Any())
                {
                    Facility facilityobj = facilitylistObj.FirstOrDefault();

                    // .... Assertion below
                    Assert.AreEqual(facilityobj.CorporateID, this.model.CorporateID);
                    Assert.IsTrue(facilityobj.FacilityName.Contains(this.model.CorporateName.Substring(0, 3)));

                    SuppliesDotComParametersBal balBSP = new SuppliesDotComParametersBal();
                    var facilityparmaters = balBSP.GetDetailsByCorporateAndFacility(
                        corporateId,
                        facilityobj.FacilityNumber);
                    Assert.IsTrue(facilityparmaters != null);
                    Assert.IsTrue(facilityparmaters.CPTTableNumber == this.model.DefaultCPTTableNumber);
                    Assert.IsTrue(facilityparmaters.BillEditRuleTableNumber == this.model.BillEditRuleTableNumber);

                    // ... Facilitystructure Checks
                    List <FacilityStructureCustomModel> facilityStructureList =
                        new FacilityStructureBal().GetFacilityStructure(facilityobj.FacilityId.ToString());
                    Assert.IsTrue(facilityStructureList.Any());

                    // ... UBed Master Checks
                    IEnumerable <BedMasterCustomModel> ubedMasterobjList =
                        new BedMasterBal().GetBedMasterListByRole(facilityobj.FacilityId, this.model.CorporateID);
                    Assert.IsTrue(ubedMasterobjList.Any());

                    // ... Role Creation Checks
                    List <Role> rolesList = new RoleBal().GetRolesByCorporateIdFacilityId(
                        this.model.CorporateID,
                        facilityobj.FacilityId);
                    Assert.IsTrue(rolesList.Any());

                    // ... Facility Roles Creation Checks
                    List <FacilityRoleCustomModel> facilityRoleList =
                        new FacilityRoleBal().GetFacilityRoleListByFacility(
                            this.model.CorporateID,
                            facilityobj.FacilityId,
                            0);
                    Assert.IsTrue(facilityRoleList.Any());

                    // ... users Creation Checks
                    List <UsersCustomModel> usersList =
                        new UsersBal().GetUsersByCorporateIdFacilityId(this.model.CorporateID, facilityobj.FacilityId);
                    Assert.IsTrue(usersList.Any());

                    // ... UserRole Creation Checks
                    // var userRoleList = new UserRoleBal().GetUserRolesByCorporateFacilityAndUserId(
                    // model.CorporateID,
                    // facilityobj.FacilityId);
                    // Assert.IsTrue(usersList.Any());

                    // ... ModuleAccess Creation Checks
                    List <ModuleAccess> moduleAccessList =
                        new ModuleAccessBal().GetModulesAccessList(this.model.CorporateID, facilityobj.FacilityId);
                    Assert.IsTrue(moduleAccessList.Any());

                    // ... DashboardIndicator Creation Checks
                    // var dashBoardIndicatorsList = new DashboardIndicatorDataBal().GetDashboardIndicatorDataList(
                    // model.CorporateID,
                    // facilityobj.FacilityId);
                    // Assert.IsTrue(dashBoardIndicatorsList.Any());
                }

                corporateBal.DeleteCorporateData(this.model.CorporateID.ToString()); // ...clean Data after Test
                Corporate corporateAftertest = corporateBal.GetCorporateById(this.model.CorporateID);
                Assert.IsNull(corporateAftertest);
            }
        }