Exemple #1
0
        public ActionResult LogIn(LogInModel model, string returnUrl)
        {
            ViewBag.DisplayError = true;
            string decodedUrl = "";

            if (VerifyLogin(model.UserName, model.Password, model.RememberMe))
            {

                int role = UserRoleData.GetByUserId(Authentication.CurrentUser.UserId).RoleId;
                if (!string.IsNullOrEmpty(returnUrl))
                {
                    decodedUrl = Server.UrlDecode(returnUrl);
                    return Redirect(decodedUrl);
                }
                else
                {
                    if (role == 1 || role == 2)
                    {
                        return RedirectToAction("Index", "User");
                    }
                    else
                    {
                        return RedirectToAction("Dashboard", "Home");
                    }

                }
            }
            else { ViewBag.ErrorLogin = true; }
            ViewBag.ReturnURL = returnUrl;
            return View();
        }
Exemple #2
0
        // GET: Admin
        public ActionResult ManageRoles()
        {
            //Setup some data that can be used inside the view
            var viewData = new List <UserRoleData>();
            var users    = db.Users.ToList();

            foreach (var user in users)
            {
                var newUserData = new UserRoleData();

                newUserData.FirstName = user.FirstName;
                newUserData.LastName  = user.LastName;
                newUserData.Email     = user.Email;
                newUserData.RoleName  = roleHelper.ListUserRoles(user.Id).FirstOrDefault() ?? "UnAssigned";

                viewData.Add(newUserData);
            }


            //Left hand side control: This data will be used to power ListBox in the View
            ViewBag.UserIds = new MultiSelectList(db.Users, "Id", "Email");

            //Right hand side control: This data will be used to power a Dropdown List in the View
            ViewBag.RoleName = new SelectList(db.Roles, "Name", "Name");

            return(View(viewData));
        }
Exemple #3
0
 public AdminController(IArticleData articleData,
                        IApiErrorHandler apiErrorHandler,
                        AssignedMedicineData assignedMedicineData,
                        AssignedPlanData assignedPlanData,
                        IFeedbackData feedbackData,
                        ILabTestData labTestData,
                        IMapper mapper,
                        LabTestRequestsData labTestRequestsData,
                        MedicineData medicineData,
                        PatientNoteData patientNoteData,
                        UserData userData,
                        UserManager <ApplicationUser> userManager,
                        RoleManager <ApplicationRole> roleManager,
                        UserRoleData userRoleData,
                        PatientData patientData,
                        PatientProgressData patientProgressData)
 {
     _articleData          = articleData;
     _apiErrorHandler      = apiErrorHandler;
     _assignedMedicineData = assignedMedicineData;
     _assignedPlanData     = assignedPlanData;
     _feedbackData         = feedbackData;
     _labTestData          = labTestData;
     _mapper = mapper;
     _labTestRequestsData = labTestRequestsData;
     _medicineData        = medicineData;
     _patientNoteData     = patientNoteData;
     _userData            = userData;
     _userManager         = userManager;
     _roleManager         = roleManager;
     _userRoleData        = userRoleData;
     _patientData         = patientData;
     _patientProgressData = patientProgressData;
 }
        public static IdType Insert(UserRoleData data)
        {
            // Create and execute the command
            string sql = "Insert Into " + TABLE + "("
                         + "UserId,"
                         + "RoleId,"
                         + "PermitDeny,"
            ;

            sql = sql.Substring(0, sql.Length - 1) + ") values("
                  + "@UserId,"
                  + "@RoleId,"
                  + "@PermitDeny,"
            ;
            sql = sql.Substring(0, sql.Length - 1) + ");select Scope_Identity() Id";
            SqlCommand cmd = GetSqlCommand(DatabaseEnum.ORDERDB, sql, CommandType.Text, COMMAND_TIMEOUT);

            //Create the parameters and append them to the command object
            cmd.Parameters.Add(new SqlParameter("@UserId", SqlDbType.Int, 0, ParameterDirection.Input, false, 10, 0, "UserId", DataRowVersion.Proposed, data.UserId.DBValue));
            cmd.Parameters.Add(new SqlParameter("@RoleId", SqlDbType.Int, 0, ParameterDirection.Input, false, 10, 0, "RoleId", DataRowVersion.Proposed, data.RoleId.DBValue));
            cmd.Parameters.Add(new SqlParameter("@PermitDeny", SqlDbType.Int, 0, ParameterDirection.Input, false, 10, 0, "PermitDeny", DataRowVersion.Proposed, data.PermitDeny.DBValue));

            // Execute the query
            SqlDataReader returnValue = cmd.ExecuteReader();

            returnValue.Read();
            int returnId = (int)(returnValue.GetDecimal(0));

            returnValue.Close();
            // Set the output paramter value(s)
            return(new IdType(returnId));
        }
        public List <SqlParameter> MapParamsForUpsert(UserRoleData entity)
        {
            var sql_params = new List <SqlParameter>();

            sql_params.Add(new SqlParameter("@RoleID", entity.RoleID));
            sql_params.Add(new SqlParameter("@UserId", entity.UserID));
            return(sql_params);
        }
Exemple #6
0
 /// <summary>
 /// Default constructor that initializes a new MySQLDatabase
 /// instance using the Default Connection string
 /// </summary>
 public UserStore()
 {
     userTable       = new UserData();
     roleTable       = new RoleData();
     userRolesTable  = new UserRoleData();
     userClaimsTable = new UserClaimsData();
     userLoginsTable = new UserLoginsData();
 }
        private async Task AddUserToRoles(UserRoleData data)
        {
            Usr user = await _userManager.FindByNameAsync(data.Username) ?? await _userManager.FindByEmailAsync(data.Username);

            await Task.WhenAll(
                data.Roles.Select(r => { return(AddUserToRole(user, r)); }).ToArray()
                );
        }
Exemple #8
0
        public ActionResult Edit(int UserId)
        {
            ViewBag.Region = db.Regions.ToList();
            User     user = UserData.Fetch(UserId);
            UserRole role = UserRoleData.GetByUserId(user.UserId);

            ViewBag.Role = role.RoleId;
            return(PartialView("Edit", user));
        }
Exemple #9
0
        public override void OnApplyTemplate()
        {
            base.OnApplyTemplate();

            if (!DesignerProperties.GetIsInDesignMode(this))
            {
                foreach (var userRole in UserRoleData.ReadUserRoles())
                {
                    UserRoles.Add(userRole);
                }
            }
        }
Exemple #10
0
        public static int GetRoleId(int UserId)
        {
            UserRole role = UserRoleData.GetByUserId(UserId);

            if (role != null)
            {
                return(role.RoleId);
            }
            else
            {
                return(0);
            }
        }
Exemple #11
0
        public static string GetRoleName(int UserId)
        {
            UserRole role = UserRoleData.GetByUserId(UserId);

            if (role != null)
            {
                return(RoleData.GetById(role.RoleId).Name);
            }
            else
            {
                return("n/a");
            }
        }
        // GET: Bookings/Details/5
        public async Task <IActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var booking = await _context.Bookings
                          .Include(b => b.Boat)
                          .Include(b => b.User)
                          .Include(b => b.UserBookings)
                          .ThenInclude(b => b.User)
                          .OrderBy(b => b.StartDateTime)
                          .SingleOrDefaultAsync(m => m.BookingId == id);

            if (booking == null)
            {
                return(NotFound());
            }

            var userRoles = new List <UserRoleData>();

            foreach (var b in booking.UserBookings)
            {
                var userRole = new UserRoleData
                {
                    FisrtName  = b.User.FirstName,
                    LastName   = b.User.LastName,
                    UsedCredit = b.UsedCredit,
                    RoleName   = string.Join(",", _userManager.GetRolesAsync(b.User).Result)
                };

                userRoles.Add(userRole);
            }

            var model = new BookingViewModel
            {
                BookingId      = booking.BookingId,
                BoatId         = booking.BoatId,
                BoatName       = booking.Boat.BoatName,
                StartDateTime  = booking.StartDateTime,
                EndDateTime    = booking.EndDateTime,
                NonMemberCrews = booking.NonMemberCrews,
                Itinerary      = booking.Itinerary,
                AllocatedHours = booking.AllocatedHours,
                UserId         = booking.UserId,
                MemberCrews    = userRoles
            };

            return(View(model));
        }
        public bool RemoveFromRole(User user, string roleName)
        {
            IUserRoleRepository         repo    = _data_repository_factory.GetIdentityDataRepository <IUserRoleRepository>();
            IIdentityRoleBusinessEngine role_be = _business_engine_factory.GetBusinessEngine <IIdentityRoleBusinessEngine>();
            var role = role_be.FindByName(roleName);

            UserRoleData ur = new UserRoleData()
            {
                RoleID = role.RoleId,
                UserID = user.UserId
            };

            repo.Delete(ur);
            return(true);
        }
        public static void Update(UserRoleData data)
        {
            // Create and execute the command
            UserRoleData oldData = Load(data.UserRoleId);
            string       sql     = "Update " + TABLE + " set ";

            if (!oldData.UserId.Equals(data.UserId))
            {
                sql = sql + "UserId=@UserId,";
            }
            if (!oldData.RoleId.Equals(data.RoleId))
            {
                sql = sql + "RoleId=@RoleId,";
            }
            if (!oldData.PermitDeny.Equals(data.PermitDeny))
            {
                sql = sql + "PermitDeny=@PermitDeny,";
            }
            WhereClause w = new WhereClause();

            w.And("UserRoleId", data.UserRoleId.DBValue);
            sql = sql.Substring(0, sql.Length - 1) + w.FormatSql();
            SqlCommand cmd = GetSqlCommand(DatabaseEnum.ORDERDB, sql, CommandType.Text, COMMAND_TIMEOUT);

            //Create the parameters and append them to the command object
            if (!oldData.UserRoleId.Equals(data.UserRoleId))
            {
                cmd.Parameters.Add(new SqlParameter("@UserRoleId", SqlDbType.Int, 0, ParameterDirection.Input, false, 10, 0, "UserRoleId", DataRowVersion.Proposed, data.UserRoleId.DBValue));
            }
            if (!oldData.UserId.Equals(data.UserId))
            {
                cmd.Parameters.Add(new SqlParameter("@UserId", SqlDbType.Int, 0, ParameterDirection.Input, false, 10, 0, "UserId", DataRowVersion.Proposed, data.UserId.DBValue));
            }
            if (!oldData.RoleId.Equals(data.RoleId))
            {
                cmd.Parameters.Add(new SqlParameter("@RoleId", SqlDbType.Int, 0, ParameterDirection.Input, false, 10, 0, "RoleId", DataRowVersion.Proposed, data.RoleId.DBValue));
            }
            if (!oldData.PermitDeny.Equals(data.PermitDeny))
            {
                cmd.Parameters.Add(new SqlParameter("@PermitDeny", SqlDbType.Int, 0, ParameterDirection.Input, false, 10, 0, "PermitDeny", DataRowVersion.Proposed, data.PermitDeny.DBValue));
            }

            // Execute the query
            if (cmd.Parameters.Count > 0)
            {
                cmd.ExecuteNonQuery();
            }
        }
Exemple #15
0
        private Tuple <CreateRoleData, DeleteRoleData, UserRoleData> GenerateModel(CreateRoleData item1 = null)
        {
            var roles     = Roles.GetAllRoles();
            var usernames = Database.Open("ContactMessageDatabase").Query("SELECT Email FROM UserProfile")
                            .Select(r => r.Email).Cast <string>();

            var createData = item1 ?? new CreateRoleData();
            var deleteData = new DeleteRoleData {
                Roles = roles
            };
            var userRole = new UserRoleData {
                Roles = roles, UserNames = usernames
            };

            return(Tuple.Create(createData, deleteData, userRole));
        }
        public int AddToRole(User user, string roleName)
        {
            IUserRoleRepository         repo    = _data_repository_factory.GetIdentityDataRepository <IUserRoleRepository>();
            IIdentityRoleBusinessEngine role_be = _business_engine_factory.GetBusinessEngine <IIdentityRoleBusinessEngine>();
            var role = role_be.FindByName(roleName);

            Log.Debug($"Adding Role User Rel: Role:{role.RoleId}; UserID: {user.UserId}");

            UserRoleData ur = new UserRoleData()
            {
                RoleID = role.RoleId,
                UserID = user.UserId
            };

            return(repo.Save(ur));
        }
Exemple #17
0
        public ActionResult AddRemoveUserRole(UserRoleData model)
        {
            Action <string, string> fn;

            if (!string.IsNullOrEmpty(model.AddUserRole))
            {
                fn = Roles.AddUserToRole;
            }
            else
            {
                fn = Roles.RemoveUserFromRole;
            }

            fn(model.UserName, model.RoleName);

            return(new RedirectResult(RedirectUrl));
        }
        public static UserRoleData Load(IdType userRoleId)
        {
            WhereClause w = new WhereClause();

            w.And("UserRoleId", userRoleId.DBValue);
            SqlDataReader dataReader = GetListReader(DatabaseEnum.ORDERDB, TABLE, w, null, true);

            if (!dataReader.Read())
            {
                dataReader.Close();
                throw new FinderException("Load found no rows for UserRole.");
            }
            UserRoleData data = GetDataObjectFromReader(dataReader);

            dataReader.Close();
            return(data);
        }
        //[Authorize(Policy = "RequireLogin", AuthenticationSchemes = OAuthValidationDefaults.AuthenticationScheme)]
        public IEnumerable <BookingViewModel> GetBooking()
        {
            var bookings = _context.Bookings
                           .Include(b => b.Boat)
                           .Include(b => b.User)
                           .Include(b => b.UserBookings)
                           .ThenInclude(b => b.User)
                           .OrderBy(b => b.StartDateTime);

            var bookingModels = new List <BookingViewModel>();

            foreach (var b in bookings)
            {
                var userRoles = new List <UserRoleData>();

                foreach (var br in b.UserBookings)
                {
                    var userRole = new UserRoleData
                    {
                        FisrtName = br.User.FirstName,
                        LastName  = br.User.LastName,
                        RoleName  = string.Join(",", _userManager.GetRolesAsync(b.User).Result)
                    };

                    userRoles.Add(userRole);
                }

                var booking = new BookingViewModel
                {
                    BookingId      = b.BookingId,
                    BoatId         = b.BoatId,
                    BoatName       = b.Boat.BoatName,
                    StartDateTime  = b.StartDateTime,
                    EndDateTime    = b.EndDateTime,
                    NonMemberCrews = b.NonMemberCrews,
                    Itinerary      = b.Itinerary,
                    UserId         = b.UserId,
                    FirstName      = b.User.FirstName,
                    LastName       = b.User.LastName,
                    MemberCrews    = userRoles
                };

                bookingModels.Add(booking);
            }
            return(bookingModels);
        }
Exemple #20
0
        public JsonResult Fetch(string Id)
        {
            if (Id == null)
            {
                Id = 0.ToString();
            }
            UserRole ur = UserRoleData.GetByUserId(Convert.ToInt32(Id));

            if (ur == null)
            {
                return(this.Json(new { result = "false" }, JsonRequestBehavior.AllowGet));
            }
            int RoleId = ur.RoleId;

            List <ModuleModel> model = ModuleData.GetModel(RoleId);

            //List<UserRight> model = UserRightData.GetList().Where(o=>o.UserId==Convert.ToInt32(Id)).ToList();

            ViewBag.RoleDetails = RoleDetailData.GetById(Convert.ToInt32(Id));
            ViewBag.Roles       = RoleData.ListAll();
            ViewBag.Modules     = ModuleData.GetList();
            string[] mId                = new string[model.Count];
            string[] mName              = new string[model.Count];
            string[] misAllowed         = new string[model.Count];
            string[] misAllowedOverride = new string[model.Count];
            for (int i = 0; i < model.Count; i++)
            {
                mId[i]   = model[i].ModuleId.ToString();
                mName[i] = model[i].Name.ToString();
                UserRight right = UserRightData.FindUserRight(Convert.ToInt32(Id), model[i].ModuleId);
                misAllowed[i] = model[i].IsAllowed.ToString();
                if (right == null)
                {
                    misAllowedOverride[i] = model[i].IsAllowed.ToString();
                }
                else
                {
                    misAllowedOverride[i] = right.IsAllowed.ToString();
                }
            }


            return(this.Json(new { id = mId, name = mName, isallowed = misAllowed, isallowed2 = misAllowedOverride }, JsonRequestBehavior.AllowGet));
        }
 protected void btnUserRoleRightsSave_Click(object sender, EventArgs e)
 {
     try
     {
         for (int i = 1; i < lvUserRoleRightsDetails.Items.Count; i++)
         {
             string   companyid    = (lvUserRoleRightsDetails.Items[i].FindControl("lblCompanyID") as Label).Text;
             string   module       = (lvUserRoleRightsDetails.Items[i].FindControl("lblModule") as Label).Text;
             string   screen       = (lvUserRoleRightsDetails.Items[i].FindControl("lblScreen") as Label).Text;
             ListView innerLisview = lvUserRoleRightsDetails.Items[i].FindControl("lvRoleAssignToScreenDetails") as ListView;
             for (int innerLvCount = 0; innerLvCount < innerLisview.Items.Count; innerLvCount++)
             {
                 UserRoleData data = new UserRoleData();
                 data.RoleID    = (innerLisview.Items[innerLvCount].FindControl("hfRoleID") as HiddenField).Value;
                 data.CompanyID = companyid;
                 data.Module    = module;
                 data.Screen    = screen;
                 if ((innerLisview.Items[innerLvCount].FindControl("rbRead") as RadioButton).Checked)
                 {
                     data.Value          = "Read";
                     data.CheckOrUncheck = "Check";
                 }
                 else if ((innerLisview.Items[innerLvCount].FindControl("rbModify") as RadioButton).Checked)
                 {
                     data.Value          = "Modify";
                     data.CheckOrUncheck = "Check";
                 }
                 else
                 {
                     data.Value          = "None";
                     data.CheckOrUncheck = "UnCheck";
                 }
                 DBAccess.saveUpdateUserRoleRightsDetails(data);
             }
         }
         ScriptManager.RegisterStartupScript(this, this.GetType(), "successMsg", "showSuccessMsg('Record saved Successfully.','');", true);
         BindUserRoleRightsData();
     }
     catch (Exception ex)
     {
     }
 }
Exemple #22
0
        public async Task <IEnumerable <UserRoleData> > ListAllUsersWithRolesAsync()
        {
            var users = await _userManager.Users.ToListAsync();

            var userRolesList = new List <UserRoleData>();

            foreach (UserProfile user in users)
            {
                var tempViewModel = new UserRoleData();
                tempViewModel.UserId    = user.Id;
                tempViewModel.Email     = user.Email;
                tempViewModel.FirstName = user.FirstName;
                tempViewModel.LastName  = user.LastName;
                tempViewModel.Roles     = await GetUserRoles(user);

                userRolesList.Add(tempViewModel);
            }

            return(userRolesList);
        }
 public Models.Business.UserAccountData GetUserAccount(string userName, string passWord)
 {
     try
     {
         var userRoleList     = db.Roles.ToList();
         var userRoleDataList = new List <UserRoleData>();
         foreach (var item in userRoleList)
         {
             var userRole = new UserRoleData
             {
                 RoleID      = item.RoleID,
                 RoleName    = item.RoleName,
                 CreatedBy   = item.CreatedBy,
                 CreatedDate = item.CreatedDate
             };
             userRoleDataList.Add(userRole);
         }
         var userAccounts = db.UserAccounts.Where(m => m.UserName == userName && m.Password == passWord).SingleOrDefault();
         Models.Business.UserAccountData obj = new Models.Business.UserAccountData();
         if (userAccounts != null)
         {
             obj = new Models.Business.UserAccountData
             {
                 UserAccountID = userAccounts.UserAccountID,
                 RoleID        = userAccounts.RoleID,
                 RoleName      = userAccounts.Role.RoleName,
                 FullName      = userAccounts.FullName,
                 AliesName     = userAccounts.AliesName,
                 UserName      = userAccounts.UserName,
                 Password      = userAccounts.Password,
                 CreatedDate   = userAccounts.CreatedDate,
                 CreatedBy     = userAccounts.CreatedBy
             };
         }
         return(obj);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
        private static UserRoleData GetDataObjectFromReader(SqlDataReader dataReader)
        {
            UserRoleData data = new UserRoleData();

            if (dataReader.IsDBNull(dataReader.GetOrdinal("UserRoleId")))
            {
                data.UserRoleId = IdType.UNSET;
            }
            else
            {
                data.UserRoleId = new IdType(dataReader.GetInt32(dataReader.GetOrdinal("UserRoleId")));
            }
            if (dataReader.IsDBNull(dataReader.GetOrdinal("UserId")))
            {
                data.UserId = IdType.UNSET;
            }
            else
            {
                data.UserId = new IdType(dataReader.GetInt32(dataReader.GetOrdinal("UserId")));
            }
            if (dataReader.IsDBNull(dataReader.GetOrdinal("RoleId")))
            {
                data.RoleId = RoleEnum.UNSET;
            }
            else
            {
                data.RoleId = RoleEnum.GetInstance(dataReader.GetInt32(dataReader.GetOrdinal("RoleId")));
            }
            if (dataReader.IsDBNull(dataReader.GetOrdinal("PermitDeny")))
            {
                data.PermitDeny = PermitDenyEnum.UNSET;
            }
            else
            {
                data.PermitDeny = PermitDenyEnum.GetInstance(dataReader.GetInt32(dataReader.GetOrdinal("PermitDeny")));
            }

            return(data);
        }
Exemple #25
0
 /// <summary>
 /// 删除单个用户角色
 /// </summary>
 /// <param name="data"></param>
 /// <returns></returns>
 public async Task <OutputDto> DeleteUserRolesAsync(UserRoleData data)
 {
     return(await _userRoleRepository.DeleteAsync(v => v.UserId.Equals(data.UserId) && v.RoleId.Equals(data.RoleId)));
 }
 private void SetUserAccessLevelData(User user)
 {
     //Save Location Admin
     if (Request.Form["UserRoleL"] == "A")
     {
         UserRoleData urd = new UserRoleData();
         urd.RoleDataLegend = "A";
         urd.UserRoleLegend = "L";
         urd.RoleDataValue  = 0;
         urd.RoleUserID     = user.UserID;
         db.UserRoleDatas.Add(urd);
         db.SaveChanges();
     }
     //Save Admin of Divs, Depts and Secs
     if (Request.Form["UserRoleD"] == "G")
     {
         UserRoleData urd = new UserRoleData();
         urd.RoleDataLegend = "G";
         urd.UserRoleLegend = "D";
         urd.RoleDataValue  = 0;
         urd.RoleUserID     = user.UserID;
         db.UserRoleDatas.Add(urd);
         db.SaveChanges();
     }
     if (Request.Form["UserRoleT"] == "Y")
     {
         UserRoleData urd = new UserRoleData();
         urd.RoleDataLegend = "Y";
         urd.UserRoleLegend = "T";
         urd.RoleDataValue  = 0;
         urd.RoleUserID     = user.UserID;
         db.UserRoleDatas.Add(urd);
         db.SaveChanges();
     }
     //Save UserLoc
     if (Request.Form["uLocationCount"] != "" && Request.Form["UserRoleL"] == "L")
     {
         int locationCount       = Convert.ToInt32(Request.Form["uLocationCount"]);
         List <HR_Location> locs = new List <HR_Location>();
         locs = db.HR_Location.ToList();
         for (int i = 1; i <= locationCount; i++)
         {
             string       uLocID  = "uLocation" + i;
             string       LocName = Request.Form[uLocID].ToString();
             int          locID   = locs.Where(aa => aa.LocationName == LocName).FirstOrDefault().LocID;
             UserRoleData urd     = new UserRoleData();
             urd.RoleDataLegend = "L";
             urd.UserRoleLegend = "L";
             urd.RoleDataValue  = (short)locID;
             urd.RoleUserID     = user.UserID;
             db.UserRoleDatas.Add(urd);
             db.SaveChanges();
         }
     }
     //Save User City
     if (Request.Form["uCityCount"] != "" && Request.Form["UserRoleL"] == "C")
     {
         int            cityCount = Convert.ToInt32(Request.Form["uCityCount"]);
         List <HR_City> cities    = new List <HR_City>();
         cities = db.HR_City.ToList();
         for (int i = 1; i <= cityCount; i++)
         {
             string       uCityID  = "uCity" + i;
             string       CityName = Request.Form[uCityID].ToString();
             int          cityID   = cities.Where(aa => aa.CityName == CityName).FirstOrDefault().CityID;
             UserRoleData urd      = new UserRoleData();
             urd.RoleDataLegend = "C";
             urd.UserRoleLegend = "L";
             urd.RoleDataValue  = (short)cityID;
             urd.RoleUserID     = user.UserID;
             db.UserRoleDatas.Add(urd);
             db.SaveChanges();
         }
     }
     //Save User Region
     if (Request.Form["uRegionCount"] != "" && Request.Form["UserRoleL"] == "R")
     {
         int            regionCount = Convert.ToInt32(Request.Form["uRegionCount"]);
         List <HR_City> regions     = new List <HR_City>();
         regions = db.HR_City.ToList();
         for (int i = 1; i <= regionCount; i++)
         {
             string uRegionID  = "uRegion" + i;
             string RegionName = Request.Form[uRegionID].ToString();
             //  int regionID = regions.Where(aa => aa.CityName == RegionName).FirstOrDefault().RegID;
             UserRoleData urd = new UserRoleData();
             urd.RoleDataLegend = "R";
             urd.UserRoleLegend = "L";
             // urd.RoleDataValue = (short)regionID;
             urd.RoleUserID = user.UserID;
             db.UserRoleDatas.Add(urd);
             db.SaveChanges();
         }
     }
     //Save User Section
     if (Request.Form["uSectionCount"] != "" && Request.Form["UserRoleD"] == "S")
     {
         int sectionCount           = Convert.ToInt32(Request.Form["uSectionCount"]);
         List <HR_Section> sections = new List <HR_Section>();
         sections = db.HR_Section.ToList();
         for (int i = 1; i <= sectionCount; i++)
         {
             string       uSectionID  = "uSection" + i;
             string       SectionName = Request.Form[uSectionID].ToString();
             int          sectionID   = sections.Where(aa => aa.SectionName == SectionName).FirstOrDefault().SecID;
             UserRoleData urd         = new UserRoleData();
             urd.RoleDataLegend = "S";
             urd.UserRoleLegend = "D";
             urd.RoleDataValue  = (short)sectionID;
             urd.RoleUserID     = user.UserID;
             db.UserRoleDatas.Add(urd);
             db.SaveChanges();
         }
     }
     //Save User Department
     if (Request.Form["uDepartmentCount"] != "" && Request.Form["UserRoleD"] == "D")
     {
         int departmentCount = Convert.ToInt32(Request.Form["uDepartmentCount"]);
         List <HR_Department> departments = new List <HR_Department>();
         departments = db.HR_Department.ToList();
         for (int i = 1; i <= departmentCount; i++)
         {
             string       uDepartmentID  = "uDepartment" + i;
             string       DepartmentName = Request.Form[uDepartmentID].ToString();
             int          DepartmentID   = departments.Where(aa => aa.DepartmentName == DepartmentName).FirstOrDefault().DeptID;
             UserRoleData urd            = new UserRoleData();
             urd.RoleDataLegend = "D";
             urd.UserRoleLegend = "D";
             urd.RoleDataValue  = (short)DepartmentID;
             urd.RoleUserID     = user.UserID;
             db.UserRoleDatas.Add(urd);
             db.SaveChanges();
         }
     }
     //Save User Division
     //if (Request.Form["uDivisionCount"] != "" && Request.Form["UserRoleD"] == "V")
     //{
     //    int divisionCount = Convert.ToInt32(Request.Form["uDivisionCount"]);
     //    List<HR_Division> divisions = new List<HR_Division>();
     //    divisions = db.HR_Division.ToList();
     //    for (int i = 1; i <= divisionCount; i++)
     //    {
     //       // string uDivisionID = "uDivision" + i;
     //        //string DivisionName = Request.Form[uDivisionID].ToString();
     //        //int divisionID = divisions.Where(aa => aa.DivisionName == DivisionName).FirstOrDefault().DivID;
     //        UserRoleData urd = new UserRoleData();
     //        urd.RoleDataLegend = "V";
     //        urd.UserRoleLegend = "D";
     //        urd.RoleDataValue = (short)divisionID;
     //        urd.RoleUserID = user.UserID;
     //        db.UserRoleDatas.Add(urd);
     //        db.SaveChanges();
     //    }
     //}
     //Save User Types
     if (Request.Form["uETypeCount"] != "" && Request.Form["UserRoleT"] == "T")
     {
         int eTypeCount           = Convert.ToInt32(Request.Form["uETypeCount"]);
         List <HR_EmpType> etypes = new List <HR_EmpType>();
         etypes = db.HR_EmpType.ToList();
         for (int i = 1; i <= eTypeCount; i++)
         {
             string       uEtypeID = "uEType" + i;
             string       TypeName = Request.Form[uEtypeID].ToString();
             int          typeID   = etypes.Where(aa => aa.TypeName == TypeName).FirstOrDefault().TypID;
             UserRoleData urd      = new UserRoleData();
             urd.RoleDataLegend = "T";
             urd.UserRoleLegend = "T";
             urd.RoleDataValue  = (short)typeID;
             urd.RoleUserID     = user.UserID;
             db.UserRoleDatas.Add(urd);
             db.SaveChanges();
         }
     }
 }
 public List <SqlParameter> MapParamsForDelete(UserRoleData entity)
 {
     return(MapParamsForUpsert(entity));
 }
        private void BindUserRoleRightsData()
        {
            try
            {
                DataTable dt = new DataTable();
                dt = DBAccess.getUserRoleRightsDetails(ddlCompany_ForUserRoleRights.SelectedValue == null?"":ddlCompany_ForUserRoleRights.SelectedValue.ToString(), ddlRole_ForUserRoleRights.SelectedValue == null?"":ddlRole_ForUserRoleRights.SelectedValue.ToString());
                List <UserRoleData> list = new List <UserRoleData>();
                UserRoleData        data = new UserRoleData();


                if (dt.Columns.Count > 3)
                {
                    data           = new UserRoleData();
                    data.CompanyID = "Company ID";
                    data.Module    = "Module";
                    data.Screen    = "Screen";
                    List <UserRoleRightsData> listRights = new List <UserRoleRightsData>();
                    UserRoleRightsData        rights     = null;
                    for (int col = 3; col < dt.Columns.Count; col++)
                    {
                        rights        = new UserRoleRightsData();
                        rights.RoleID = dt.Columns[col].ColumnName;
                        rights.HeaderTemplateVisibility = "block";
                        rights.DataTemplateVisibility   = "none";

                        int readCount   = dt.AsEnumerable().Where(k => k.Field <string>(rights.RoleID) == "Read").Count();
                        int modifyCount = dt.AsEnumerable().Where(k => k.Field <string>(rights.RoleID) == "Modify").Count();
                        int noneCount   = dt.AsEnumerable().Where(k => k.Field <string>(rights.RoleID) == "None").Count();
                        int tableCount  = dt.Rows.Count;
                        rights.IsModifyChcked = false;
                        rights.IsReadChecked  = false;
                        rights.IsNoneChacked  = false;
                        if (readCount == tableCount)
                        {
                            rights.IsReadChecked = true;
                        }
                        else if (modifyCount == tableCount)
                        {
                            rights.IsModifyChcked = true;
                        }
                        else if (noneCount == tableCount)
                        {
                            rights.IsNoneChacked = true;
                        }

                        listRights.Add(rights);
                    }
                    data.UserRightValue = listRights;
                    list.Add(data);
                }
                for (int row = 0; row < dt.Rows.Count; row++)
                {
                    data           = new UserRoleData();
                    data.CompanyID = dt.Rows[row]["CompanyID"].ToString();
                    data.Module    = dt.Rows[row]["Module"].ToString();
                    data.Screen    = dt.Rows[row]["Screen"].ToString();
                    List <UserRoleRightsData> listRights = new List <UserRoleRightsData>();
                    UserRoleRightsData        rights     = null;
                    for (int col = 3; col < dt.Columns.Count; col++)
                    {
                        rights        = new UserRoleRightsData();
                        rights.RoleID = dt.Columns[col].ColumnName;
                        rights.HeaderTemplateVisibility = "none";
                        rights.DataTemplateVisibility   = "block";
                        if (dt.Rows[row][col].ToString() == "Read")
                        {
                            rights.IsModifyChcked = false;
                            rights.IsReadChecked  = true;
                            rights.IsNoneChacked  = false;
                        }
                        else if (dt.Rows[row][col].ToString() == "Modify")
                        {
                            rights.IsModifyChcked = true;
                            rights.IsReadChecked  = false;
                            rights.IsNoneChacked  = false;
                        }
                        else
                        {
                            rights.IsModifyChcked = false;
                            rights.IsReadChecked  = false;
                            rights.IsNoneChacked  = true;
                        }

                        listRights.Add(rights);
                    }
                    data.UserRightValue = listRights;
                    list.Add(data);
                }
                lvUserRoleRightsDetails.DataSource = list;
                lvUserRoleRightsDetails.DataBind();
            }
            catch (Exception ex)
            { }
        }
Exemple #29
0
        // GET: KPIs/Details/5

        public ActionResult UserDocs(int target, int report, int?quarter, int year)
        {
            Target     _target  = db.Targets.Find(target);
            List <KPI> _kpiList = new List <KPI>();

            int role = UserRoleData.GetByUserId(Authentication.CurrentUser.UserId).RoleId;

            if (role == 1 || role == 2) // Admin
            {
                if (report == 1)
                {
                    if (quarter != 0)
                    {
                        ViewBag.Year    = year;
                        ViewBag.Quarter = quarter;
                        _kpiList        = db.KPIs.Where(x => x.Year == year && x.Quarter == quarter).ToList();
                        return(View("~/Views/Reports/User/ProductionQuarterly.cshtml", _kpiList));
                    }
                    else
                    {
                        double[] production = new double[4];
                        int[]    hectar     = new int[4];
                        int[]    income     = new int[4];

                        int counter = 0;
                        _kpiList = db.KPIs.Where(x => x.Year == year).ToList();

                        int[]  q = { 1, 2, 3, 4 };
                        double tempProduction = 0;
                        string tempRegion;
                        string tempCode;
                        int    temphectar = 0;
                        int    tempincome = 0;
                        ViewBag.Year = year;
                        List <ProductionQuarterly> PQ = new List <ProductionQuarterly>();

                        var AvailableRegionId = _kpiList.GroupBy(i => i.RegionId).OrderByDescending(g => g.Count()).Take(20).Select(g => g.Key);


                        foreach (var item in AvailableRegionId)
                        {
                            tempProduction = 0;
                            tempRegion     = "";
                            tempCode       = "";
                            temphectar     = 0;
                            tempincome     = 0;


                            List <KPI> kpiQuarter = _kpiList.Where(x => x.RegionId == item).ToList();
                            foreach (var kpiItem in kpiQuarter)
                            {
                                tempRegion     = RegionData.returnName(kpiItem.RegionId);
                                tempCode       = RegionData.Fetch(kpiItem.RegionId).Code;
                                temphectar     = temphectar + kpiItem.Hectar;
                                tempProduction = tempProduction + (kpiItem.Male + kpiItem.Production);
                                tempincome     = tempincome + kpiItem.IncomeGenerated;
                            }
                            counter++;
                            ProductionQuarterly newPQ = new ProductionQuarterly();
                            newPQ.id          = counter;
                            newPQ.Region      = tempRegion.ToString();
                            newPQ.Code        = tempCode.ToString();
                            newPQ.Production  = tempProduction * .001;
                            newPQ.AreaPlanted = temphectar;
                            newPQ.income      = tempincome;
                            PQ.Add(newPQ);
                        }


                        return(View("~/Views/Reports/User/Production.cshtml", PQ));
                    }
                }
                else if (report == 2)
                {
                    if (quarter != 0)
                    {
                        ViewBag.Year    = year;
                        ViewBag.Quarter = quarter;
                        ViewBag.Region  = db.Regions.ToList();
                        _kpiList        = db.KPIs.Where(x => x.Year == year && x.Quarter == quarter).ToList();
                        return(View("~/Views/Reports/User/PerformanceQuarterly.cshtml", _kpiList));
                    }
                    else
                    {
                        ViewBag.Year = year;
                        List <Region> region = db.Regions.ToList();
                        ViewBag.Region = region;
                        _kpiList       = db.KPIs.Where(x => x.Year == year).ToList();
                        int        counter     = 0;
                        List <KPI> NEW_kpiList = new List <KPI>();
                        foreach (var regionItem in region)
                        {
                            KPI        newKPI = new KPI();
                            List <KPI> NEW_Quarter_kpiList = _kpiList.Where(x => x.RegionId == regionItem.RegionId).ToList();
                            foreach (var newQuarterItem in NEW_Quarter_kpiList)
                            {
                                KPI TempKpi = db.KPIs.Find(newQuarterItem.KPIId);

                                newKPI.KPIId                    = counter;
                                newKPI.UniqueId                 = Guid.NewGuid();
                                newKPI.Name                     = null;
                                newKPI.Category                 = 0;
                                newKPI.Description              = null;
                                newKPI.RegionId                 = regionItem.RegionId;
                                newKPI.Quarter                  = 0;
                                newKPI.Year                     = year;
                                newKPI.DateAndTime              = DateTime.Now;
                                newKPI.UserId                   = 0;
                                newKPI.Hectar                  += TempKpi.Hectar;
                                newKPI.NoOfFarms               += TempKpi.NoOfFarms;
                                newKPI.NoOfTrees               += TempKpi.NoOfTrees;
                                newKPI.Production              += TempKpi.Production;
                                newKPI.Variety                  = TempKpi.Variety;
                                newKPI.VolumeMarket            += TempKpi.VolumeMarket;
                                newKPI.VolumeInternational     += TempKpi.VolumeInternational;
                                newKPI.VolumeSoldMarket        += TempKpi.VolumeSoldMarket;
                                newKPI.VolumeSoldInternational += TempKpi.VolumeSoldInternational;
                                newKPI.Male                    += TempKpi.Male;
                                newKPI.Female                  += TempKpi.Female;
                                newKPI.MunicipalitiesEngaged   += TempKpi.MunicipalitiesEngaged;
                                newKPI.NumberOfNurseries       += TempKpi.NumberOfNurseries;
                                newKPI.NoOfPostharvest         += TempKpi.NoOfPostharvest;
                                newKPI.IncomeGenerated         += TempKpi.IncomeGenerated;
                                newKPI.SMEs                    += TempKpi.SMEs;
                                newKPI.JobsCreated             += TempKpi.JobsCreated;
                                newKPI.NoOfFundingAssistance   += TempKpi.NoOfFundingAssistance;
                                newKPI.NoOfFundingInstitutions += TempKpi.NoOfFundingInstitutions;
                                newKPI.NoOfPoliciReforms       += TempKpi.NoOfPoliciReforms;
                                newKPI.DA                        += TempKpi.DA;
                                newKPI.DENR_NGP                  += TempKpi.DENR_NGP;
                                newKPI.PCA_Kaanib                += TempKpi.PCA_Kaanib;
                                newKPI.DAR                       += TempKpi.DAR;
                                newKPI.Trainings                 += TempKpi.Trainings;
                                newKPI.FarmesrsTrained           += TempKpi.FarmesrsTrained;
                                newKPI.IECMaterials              += TempKpi.IECMaterials;
                                newKPI.LinkagesLocal             += TempKpi.LinkagesLocal;
                                newKPI.LinkagesInternational     += TempKpi.LinkagesInternational;
                                newKPI.DiseasesManagement        += TempKpi.DiseasesManagement;
                                newKPI.GoodAgriculturalPractices += TempKpi.GoodAgriculturalPractices;
                                newKPI.CacaoFarmsCertified       += TempKpi.CacaoFarmsCertified;
                                newKPI.NurseriesAccredited       += TempKpi.NurseriesAccredited;
                                newKPI.ModelFarms                += TempKpi.ModelFarms;
                                newKPI.ResearchWorkDeveloped     += TempKpi.ResearchWorkDeveloped;
                            }

                            counter++;

                            NEW_kpiList.Add(newKPI);
                        }


                        return(View("~/Views/Reports/User/Performance.cshtml", NEW_kpiList));
                    }
                }
                else if (report == 3)
                {
                    int[] years = getTargetYearInt(target);

                    ViewBag.Year = year;
                    List <Region> region = db.Regions.ToList();
                    ViewBag.Region = region;
                    _kpiList       = db.KPIs.ToList();
                    int        counter     = 0;
                    List <KPI> NEW_kpiList = new List <KPI>();
                    foreach (int item in years)
                    {
                        KPI        newKPI = new KPI();
                        List <KPI> NEW_Quarter_kpiList = _kpiList.Where(x => x.Year == item).ToList();
                        foreach (var newQuarterItem in NEW_Quarter_kpiList)
                        {
                            KPI TempKpi = db.KPIs.Find(newQuarterItem.KPIId);

                            newKPI.KPIId                    = counter;
                            newKPI.UniqueId                 = Guid.NewGuid();
                            newKPI.Name                     = null;
                            newKPI.Category                 = 0;
                            newKPI.Description              = null;
                            newKPI.RegionId                 = 0;
                            newKPI.Quarter                  = 0;
                            newKPI.Year                     = item;
                            newKPI.DateAndTime              = DateTime.Now;
                            newKPI.UserId                   = 0;
                            newKPI.Hectar                  += TempKpi.Hectar;
                            newKPI.NoOfFarms               += TempKpi.NoOfFarms;
                            newKPI.NoOfTrees               += TempKpi.NoOfTrees;
                            newKPI.Production              += TempKpi.Production;
                            newKPI.Variety                  = TempKpi.Variety;
                            newKPI.VolumeMarket            += TempKpi.VolumeMarket;
                            newKPI.VolumeInternational     += TempKpi.VolumeInternational;
                            newKPI.VolumeSoldMarket        += TempKpi.VolumeSoldMarket;
                            newKPI.VolumeSoldInternational += TempKpi.VolumeSoldInternational;
                            newKPI.Male                    += TempKpi.Male;
                            newKPI.Female                  += TempKpi.Female;
                            newKPI.MunicipalitiesEngaged   += TempKpi.MunicipalitiesEngaged;
                            newKPI.NumberOfNurseries       += TempKpi.NumberOfNurseries;
                            newKPI.NoOfPostharvest         += TempKpi.NoOfPostharvest;
                            newKPI.IncomeGenerated         += TempKpi.IncomeGenerated;
                            newKPI.SMEs                    += TempKpi.SMEs;
                            newKPI.JobsCreated             += TempKpi.JobsCreated;
                            newKPI.NoOfFundingAssistance   += TempKpi.NoOfFundingAssistance;
                            newKPI.NoOfFundingInstitutions += TempKpi.NoOfFundingInstitutions;
                            newKPI.NoOfPoliciReforms       += TempKpi.NoOfPoliciReforms;
                            newKPI.DA                        += TempKpi.DA;
                            newKPI.DENR_NGP                  += TempKpi.DENR_NGP;
                            newKPI.PCA_Kaanib                += TempKpi.PCA_Kaanib;
                            newKPI.DAR                       += TempKpi.DAR;
                            newKPI.Trainings                 += TempKpi.Trainings;
                            newKPI.FarmesrsTrained           += TempKpi.FarmesrsTrained;
                            newKPI.IECMaterials              += TempKpi.IECMaterials;
                            newKPI.LinkagesLocal             += TempKpi.LinkagesLocal;
                            newKPI.LinkagesInternational     += TempKpi.LinkagesInternational;
                            newKPI.DiseasesManagement        += TempKpi.DiseasesManagement;
                            newKPI.GoodAgriculturalPractices += TempKpi.GoodAgriculturalPractices;
                            newKPI.CacaoFarmsCertified       += TempKpi.CacaoFarmsCertified;
                            newKPI.NurseriesAccredited       += TempKpi.NurseriesAccredited;
                            newKPI.ModelFarms                += TempKpi.ModelFarms;
                            newKPI.ResearchWorkDeveloped     += TempKpi.ResearchWorkDeveloped;
                        }

                        counter++;

                        NEW_kpiList.Add(newKPI);
                    }
                    ViewBag.Year       = _target.YearStart + " - " + _target.YearEnd;
                    ViewBag.Year_array = years;
                    return(View("~/Views/Reports/User/National.cshtml", NEW_kpiList));
                }
            }
            else if (role == 3) // user
            {
                int regionId = UserData.Fetch(Authentication.CurrentUser.UserId).Region;
                ViewBag.RegionCode = regionId;
                if (report == 4) // Accomplish
                {
                    if (quarter != 0)
                    {
                        ViewBag.Year    = year;
                        ViewBag.Quarter = quarter;
                        _kpiList        = db.KPIs.Where(x => x.Year == year && x.Quarter == quarter && x.RegionId == regionId).ToList();
                        return(View("~/Views/Reports/Admin/AccomplishmentQuarterly.cshtml", _kpiList));
                    }
                    else
                    {
                        ViewBag.Year = year;

                        _kpiList = db.KPIs.Where(x => x.Year == year).ToList();
                        int        counter     = 0;
                        List <KPI> NEW_kpiList = new List <KPI>();

                        KPI        newKPI = new KPI();
                        List <KPI> NEW_Quarter_kpiList = _kpiList.Where(x => x.RegionId == regionId).ToList();
                        foreach (var newQuarterItem in NEW_Quarter_kpiList)
                        {
                            KPI TempKpi = db.KPIs.Find(newQuarterItem.KPIId);

                            newKPI.KPIId                    = counter;
                            newKPI.UniqueId                 = Guid.NewGuid();
                            newKPI.Name                     = null;
                            newKPI.Category                 = 0;
                            newKPI.Description              = null;
                            newKPI.RegionId                 = regionId;
                            newKPI.Quarter                  = 0;
                            newKPI.Year                     = year;
                            newKPI.DateAndTime              = DateTime.Now;
                            newKPI.UserId                   = 0;
                            newKPI.Hectar                  += TempKpi.Hectar;
                            newKPI.NoOfFarms               += TempKpi.NoOfFarms;
                            newKPI.NoOfTrees               += TempKpi.NoOfTrees;
                            newKPI.Production              += TempKpi.Production;
                            newKPI.Variety                  = TempKpi.Variety;
                            newKPI.VolumeMarket            += TempKpi.VolumeMarket;
                            newKPI.VolumeInternational     += TempKpi.VolumeInternational;
                            newKPI.VolumeSoldMarket        += TempKpi.VolumeSoldMarket;
                            newKPI.VolumeSoldInternational += TempKpi.VolumeSoldInternational;
                            newKPI.Male                    += TempKpi.Male;
                            newKPI.Female                  += TempKpi.Female;
                            newKPI.MunicipalitiesEngaged   += TempKpi.MunicipalitiesEngaged;
                            newKPI.NumberOfNurseries       += TempKpi.NumberOfNurseries;
                            newKPI.NoOfPostharvest         += TempKpi.NoOfPostharvest;
                            newKPI.IncomeGenerated         += TempKpi.IncomeGenerated;
                            newKPI.SMEs                    += TempKpi.SMEs;
                            newKPI.JobsCreated             += TempKpi.JobsCreated;
                            newKPI.NoOfFundingAssistance   += TempKpi.NoOfFundingAssistance;
                            newKPI.NoOfFundingInstitutions += TempKpi.NoOfFundingInstitutions;
                            newKPI.NoOfPoliciReforms       += TempKpi.NoOfPoliciReforms;
                            newKPI.DA                        += TempKpi.DA;
                            newKPI.DENR_NGP                  += TempKpi.DENR_NGP;
                            newKPI.PCA_Kaanib                += TempKpi.PCA_Kaanib;
                            newKPI.DAR                       += TempKpi.DAR;
                            newKPI.Trainings                 += TempKpi.Trainings;
                            newKPI.FarmesrsTrained           += TempKpi.FarmesrsTrained;
                            newKPI.IECMaterials              += TempKpi.IECMaterials;
                            newKPI.LinkagesLocal             += TempKpi.LinkagesLocal;
                            newKPI.LinkagesInternational     += TempKpi.LinkagesInternational;
                            newKPI.DiseasesManagement        += TempKpi.DiseasesManagement;
                            newKPI.GoodAgriculturalPractices += TempKpi.GoodAgriculturalPractices;
                            newKPI.CacaoFarmsCertified       += TempKpi.CacaoFarmsCertified;
                            newKPI.NurseriesAccredited       += TempKpi.NurseriesAccredited;
                            newKPI.ModelFarms                += TempKpi.ModelFarms;
                            newKPI.ResearchWorkDeveloped     += TempKpi.ResearchWorkDeveloped;
                        }

                        counter++;

                        NEW_kpiList.Add(newKPI);


                        return(View("~/Views/Reports/Admin/Accomplishment.cshtml", NEW_kpiList));
                    }
                }
                if (report == 5) // Accomplishment   summary
                {
                    ViewBag.Year = year;
                    int[] q = { 1, 2, 3, 4, 5 };
                    _kpiList = db.KPIs.Where(x => x.Year == year).ToList();
                    int        counter     = 0;
                    List <KPI> NEW_kpiList = new List <KPI>();

                    KPI        newKPI = new KPI();
                    List <KPI> NEW_Quarter_kpiList = _kpiList.Where(x => x.RegionId == regionId).ToList();
                    foreach (var newQuarterItem in NEW_Quarter_kpiList)
                    {
                        counter++;
                        KPI TempKpi = db.KPIs.Find(newQuarterItem.KPIId);

                        NEW_kpiList.Add(TempKpi);
                    }



                    foreach (var newQuarterItem in NEW_Quarter_kpiList)
                    {
                        counter++;
                        KPI TempKpi = db.KPIs.Find(newQuarterItem.KPIId);

                        newKPI.KPIId       = counter;
                        newKPI.UniqueId    = Guid.NewGuid();
                        newKPI.Name        = null;
                        newKPI.Category    = 0;
                        newKPI.Description = null;
                        newKPI.RegionId    = regionId;
                        newKPI.Quarter     = counter;
                        newKPI.Year        = year;
                        newKPI.DateAndTime = DateTime.Now;
                        newKPI.UserId      = 0;
                        if (newQuarterItem.Quarter == 4)
                        {
                            newKPI.Hectar = TempKpi.Hectar;
                        }
                        else
                        {
                            newKPI.Hectar = 0;
                        }
                        if (newQuarterItem.Quarter == 4)
                        {
                            newKPI.NoOfFarms = TempKpi.NoOfFarms;
                        }
                        else
                        {
                            newKPI.NoOfFarms = 0;
                        }
                        if (newQuarterItem.Quarter == 4)
                        {
                            newKPI.NoOfTrees = TempKpi.NoOfTrees;
                        }
                        else
                        {
                            newKPI.NoOfTrees = 0;
                        }

                        newKPI.Production              += TempKpi.Production;
                        newKPI.Variety                  = TempKpi.Variety;
                        newKPI.VolumeMarket            += TempKpi.VolumeMarket;
                        newKPI.VolumeInternational     += TempKpi.VolumeInternational;
                        newKPI.VolumeSoldMarket        += TempKpi.VolumeSoldMarket;
                        newKPI.VolumeSoldInternational += TempKpi.VolumeSoldInternational;

                        newKPI.Male += TempKpi.Male;
                        if (newQuarterItem.Quarter == 4)
                        {
                            newKPI.Male = newKPI.Male / 4;
                        }

                        newKPI.Female += TempKpi.Female;

                        if (newQuarterItem.Quarter == 4)
                        {
                            newKPI.Female = newKPI.Female / 4;
                        }
                        newKPI.MunicipalitiesEngaged += TempKpi.MunicipalitiesEngaged;

                        if (newQuarterItem.Quarter == 4)
                        {
                            newKPI.MunicipalitiesEngaged = newKPI.MunicipalitiesEngaged / 4;
                        }

                        if (newQuarterItem.Quarter == 4)
                        {
                            newKPI.NumberOfNurseries = TempKpi.NumberOfNurseries;
                        }
                        else
                        {
                            newKPI.NumberOfNurseries = 0;
                        }

                        if (newQuarterItem.Quarter == 4)
                        {
                            newKPI.NoOfPostharvest = TempKpi.NoOfPostharvest;
                        }
                        else
                        {
                            newKPI.NoOfPostharvest = 0;
                        }

                        newKPI.NoOfPostharvest         += TempKpi.NoOfPostharvest;
                        newKPI.IncomeGenerated         += TempKpi.IncomeGenerated;
                        newKPI.SMEs                    += TempKpi.SMEs;
                        newKPI.JobsCreated             += TempKpi.JobsCreated;
                        newKPI.NoOfFundingAssistance   += TempKpi.NoOfFundingAssistance;
                        newKPI.NoOfFundingInstitutions += TempKpi.NoOfFundingInstitutions;
                        newKPI.NoOfPoliciReforms       += TempKpi.NoOfPoliciReforms;
                        newKPI.DA                    += TempKpi.DA;
                        newKPI.DENR_NGP              += TempKpi.DENR_NGP;
                        newKPI.PCA_Kaanib            += TempKpi.PCA_Kaanib;
                        newKPI.DAR                   += TempKpi.DAR;
                        newKPI.Trainings             += TempKpi.Trainings;
                        newKPI.FarmesrsTrained       += TempKpi.FarmesrsTrained;
                        newKPI.IECMaterials          += TempKpi.IECMaterials;
                        newKPI.LinkagesLocal         += TempKpi.LinkagesLocal;
                        newKPI.LinkagesInternational += TempKpi.LinkagesInternational;
                        newKPI.DiseasesManagement    += TempKpi.DiseasesManagement;

                        if (newQuarterItem.Quarter == 4)
                        {
                            newKPI.DiseasesManagement = newKPI.DiseasesManagement / 4;
                        }

                        newKPI.GoodAgriculturalPractices += TempKpi.GoodAgriculturalPractices;

                        if (newQuarterItem.Quarter == 4)
                        {
                            newKPI.GoodAgriculturalPractices = newKPI.GoodAgriculturalPractices / 4;
                        }

                        newKPI.CacaoFarmsCertified   += TempKpi.CacaoFarmsCertified;
                        newKPI.NurseriesAccredited   += TempKpi.NurseriesAccredited;
                        newKPI.ModelFarms            += TempKpi.ModelFarms;
                        newKPI.ResearchWorkDeveloped += TempKpi.ResearchWorkDeveloped;
                    }

                    NEW_kpiList.Add(newKPI);

                    ViewBag.Quarter_array = q;
                    return(View("~/Views/Reports/Admin/AccomplishmentReportSummary.cshtml", NEW_kpiList));
                }
                if (report == 6) // Regional Accomplishment   Report
                {
                    int[] years = getTargetYearInt(target);

                    ViewBag.Year = year;

                    _kpiList = db.KPIs.ToList();
                    int        counter     = 0;
                    List <KPI> NEW_kpiList = new List <KPI>();
                    foreach (int item in years)
                    {
                        KPI        newKPI = new KPI();
                        List <KPI> NEW_Quarter_kpiList = _kpiList.Where(x => x.Year == item && x.RegionId == regionId).ToList();
                        foreach (var newQuarterItem in NEW_Quarter_kpiList)
                        {
                            KPI TempKpi = db.KPIs.Find(newQuarterItem.KPIId);

                            newKPI.KPIId                    = counter;
                            newKPI.UniqueId                 = Guid.NewGuid();
                            newKPI.Name                     = null;
                            newKPI.Category                 = 0;
                            newKPI.Description              = null;
                            newKPI.RegionId                 = 0;
                            newKPI.Quarter                  = 0;
                            newKPI.Year                     = item;
                            newKPI.DateAndTime              = DateTime.Now;
                            newKPI.UserId                   = 0;
                            newKPI.Hectar                  += TempKpi.Hectar;
                            newKPI.NoOfFarms               += TempKpi.NoOfFarms;
                            newKPI.NoOfTrees               += TempKpi.NoOfTrees;
                            newKPI.Production              += TempKpi.Production;
                            newKPI.Variety                  = TempKpi.Variety;
                            newKPI.VolumeMarket            += TempKpi.VolumeMarket;
                            newKPI.VolumeInternational     += TempKpi.VolumeInternational;
                            newKPI.VolumeSoldMarket        += TempKpi.VolumeSoldMarket;
                            newKPI.VolumeSoldInternational += TempKpi.VolumeSoldInternational;
                            newKPI.Male                    += TempKpi.Male;
                            newKPI.Female                  += TempKpi.Female;
                            newKPI.MunicipalitiesEngaged   += TempKpi.MunicipalitiesEngaged;
                            newKPI.NumberOfNurseries       += TempKpi.NumberOfNurseries;
                            newKPI.NoOfPostharvest         += TempKpi.NoOfPostharvest;
                            newKPI.IncomeGenerated         += TempKpi.IncomeGenerated;
                            newKPI.SMEs                    += TempKpi.SMEs;
                            newKPI.JobsCreated             += TempKpi.JobsCreated;
                            newKPI.NoOfFundingAssistance   += TempKpi.NoOfFundingAssistance;
                            newKPI.NoOfFundingInstitutions += TempKpi.NoOfFundingInstitutions;
                            newKPI.NoOfPoliciReforms       += TempKpi.NoOfPoliciReforms;
                            newKPI.DA                        += TempKpi.DA;
                            newKPI.DENR_NGP                  += TempKpi.DENR_NGP;
                            newKPI.PCA_Kaanib                += TempKpi.PCA_Kaanib;
                            newKPI.DAR                       += TempKpi.DAR;
                            newKPI.Trainings                 += TempKpi.Trainings;
                            newKPI.FarmesrsTrained           += TempKpi.FarmesrsTrained;
                            newKPI.IECMaterials              += TempKpi.IECMaterials;
                            newKPI.LinkagesLocal             += TempKpi.LinkagesLocal;
                            newKPI.LinkagesInternational     += TempKpi.LinkagesInternational;
                            newKPI.DiseasesManagement        += TempKpi.DiseasesManagement;
                            newKPI.GoodAgriculturalPractices += TempKpi.GoodAgriculturalPractices;
                            newKPI.CacaoFarmsCertified       += TempKpi.CacaoFarmsCertified;
                            newKPI.NurseriesAccredited       += TempKpi.NurseriesAccredited;
                            newKPI.ModelFarms                += TempKpi.ModelFarms;
                            newKPI.ResearchWorkDeveloped     += TempKpi.ResearchWorkDeveloped;
                        }

                        counter++;

                        NEW_kpiList.Add(newKPI);
                    }
                    ViewBag.Year       = _target.YearStart + " - " + _target.YearEnd;
                    ViewBag.Year_array = years;

                    return(View("~/Views/Reports/Admin/NationalAccomplishmentReport.cshtml", NEW_kpiList));
                }
            }



            return(View("Index", db.Targets.ToList()));
        }
        /// <summary>
        /// The load user data.
        /// </summary>
        /// <param name="user">
        /// The user.
        /// </param>
        /// <returns>
        /// The StruSoft.Impact.V120.ProjectManager.Core.ProjectBrowserData.UserData.
        /// </returns>
        public UserData LoadUserData( string user )
        {
            user = user.ToLower();

            ImpactQuery query = new ImpactQuery( true )
            {
                From = {
                          ImpUser.As( "U" ) 
                       }, 
                Select = {
                            ImpUserGroup.Company, ImpUserGroupStd.RoleId 
                         }, 
                Join =
                {
                    Join.Inner( ImpUserGroup.As( "UG" ), ImpUser.Userid.Equal( ImpUserGroup.Userid ) ), 
                    Join.Inner( ImpUserGroupStd.As( "UGS" ), ImpUserGroup.UserGroup.Equal( ImpUserGroupStd.Name ) ), 
                }, 
                Where = {
                           ImpUser.Userid.Equal( user ) 
                        }, 
            };

            string statement = query.ToString();

            UserData userData = new UserData
                                {
                UserId = user
            };

            using( var database = new ImpactDatabase() )
            {
                var groupedCompanyRoleList = database.GetAll( 
                    statement, 
                    column => new
                    {
                        Company = column[0].Cast<string>(), 
                        Role = column[1].Cast<UserRole>(), 
                    }

                ).GroupBy( x => x.Company ).ToList();

                foreach( var companyGroup in groupedCompanyRoleList )
                {
                    UserRoleData urd = new UserRoleData( companyGroup.Key, from item in companyGroup select item.Role );

                    userData.UserRoles.Add( urd );
                }
            }

            return userData;
        }
        private void BindUserRightsExceptionData()
        {
            try
            {
                string selectedUserIdList = "";
                for (int i = 0; i < gvUserIDList.Rows.Count; i++)
                {
                    if ((gvUserIDList.Rows[i].FindControl("chkUserIDChecked") as CheckBox).Checked)
                    {
                        if (selectedUserIdList == "")
                        {
                            selectedUserIdList += "'" + (gvUserIDList.Rows[i].FindControl("lblUserID") as Label).Text + "'";
                        }
                        else
                        {
                            selectedUserIdList += ",'" + (gvUserIDList.Rows[i].FindControl("lblUserID") as Label).Text + "'";
                        }
                    }
                }
                List <UserRoleData> list = new List <UserRoleData>();
                if (selectedUserIdList != "")
                {
                    DataTable userRightsDt = DBAccess.getUserRightsExceptionDetails(ddlUserRightExptnCompany.SelectedValue, ddlUserRightExptnRole.SelectedValue, selectedUserIdList);

                    UserRoleData data            = new UserRoleData();
                    bool         firstRowEntered = true; // For first list item insert header related vaulues
                    for (int i = 0; i < userRightsDt.Rows.Count; i++)
                    {
                        data = new UserRoleData();
                        if (firstRowEntered)
                        {
                            data.CompanyID = "Company";
                            data.Module    = "Module";
                            data.Screen    = "Screen";
                        }
                        else
                        {
                            data.CompanyID = userRightsDt.Rows[i]["CompanyID"].ToString();
                            data.Module    = userRightsDt.Rows[i]["Module"].ToString();
                            data.Screen    = userRightsDt.Rows[i]["Screen"].ToString();
                        }


                        List <UserRoleRightsData> listRights = new List <UserRoleRightsData>();
                        UserRoleRightsData        rights     = null;
                        for (int col = 3; col < userRightsDt.Columns.Count; col++)
                        {
                            rights = new UserRoleRightsData();
                            if (firstRowEntered)
                            {
                                rights.HeaderTemplateVisibility = "block";
                                rights.DataTemplateVisibility   = "none";
                            }
                            else
                            {
                                rights.HeaderTemplateVisibility = "none";
                                rights.DataTemplateVisibility   = "block";
                            }


                            rights.UserID = userRightsDt.Columns[col].ColumnName;
                            if (firstRowEntered)
                            {
                                int readCount   = userRightsDt.AsEnumerable().Where(k => k.Field <string>(rights.UserID) == "Read").Count();
                                int modifyCount = userRightsDt.AsEnumerable().Where(k => k.Field <string>(rights.UserID) == "Modify").Count();
                                int noneCount   = userRightsDt.AsEnumerable().Where(k => k.Field <string>(rights.UserID) == "None").Count();
                                int tableCount  = userRightsDt.Rows.Count;
                                rights.IsModifyChcked = false;
                                rights.IsReadChecked  = false;
                                rights.IsNoneChacked  = false;
                                if (readCount == tableCount)
                                {
                                    rights.IsReadChecked = true;
                                }
                                else if (modifyCount == tableCount)
                                {
                                    rights.IsModifyChcked = true;
                                }
                                else if (noneCount == tableCount)
                                {
                                    rights.IsNoneChacked = true;
                                }
                            }
                            else
                            {
                                if (string.Equals(userRightsDt.Rows[i][col].ToString(), "Read", StringComparison.OrdinalIgnoreCase))
                                {
                                    rights.IsModifyChcked = false;
                                    rights.IsReadChecked  = true;
                                    rights.IsNoneChacked  = false;
                                }
                                else if (string.Equals(userRightsDt.Rows[i][col].ToString(), "Modify", StringComparison.OrdinalIgnoreCase))
                                {
                                    rights.IsModifyChcked = true;
                                    rights.IsReadChecked  = false;
                                    rights.IsNoneChacked  = false;
                                }
                                else if (string.Equals(userRightsDt.Rows[i][col].ToString(), "None", StringComparison.OrdinalIgnoreCase))
                                {
                                    rights.IsModifyChcked = false;
                                    rights.IsReadChecked  = false;
                                    rights.IsNoneChacked  = true;
                                }
                                else
                                {
                                    rights.IsModifyChcked = false;
                                    rights.IsReadChecked  = false;
                                    rights.IsNoneChacked  = false;
                                }
                            }
                            listRights.Add(rights);
                        }
                        data.UserRightValue = listRights;
                        list.Add(data);
                        if (firstRowEntered)
                        {
                            i = -1;
                            firstRowEntered = false;
                        }
                    }
                }
                lvUserAssignedToRole.DataSource = list;
                lvUserAssignedToRole.DataBind();
            }
            catch (Exception ex)
            { }
        }