コード例 #1
0
 public DataTable GetDataP3(string ICSType, string Year)
 {
     return(UnitInformation_DL.GetDataP3(ICSType, Year));
 }
コード例 #2
0
    private void BindgvPlan(int year, decimal DaysPerFarmer, DateTime start, DateTime end, string role)
    {
        try
        {
            DataTable dtNewPlan = new DataTable();
            dtNewPlan.Columns.Add("FarmerID");
            dtNewPlan.Columns.Add("FarmerName");
            dtNewPlan.Columns.Add("FarmerCode");
            dtNewPlan.Columns.Add("FarmerArea");
            dtNewPlan.Columns.Add("InspectorID");
            dtNewPlan.Columns.Add("InspectorName");
            dtNewPlan.Columns.Add("PlanDate");
            dtNewPlan.Columns.Add("VisitedDate");
            dtNewPlan.Columns.Add("InspectionID");
            List <DateTime> dates      = GetDates(year, start, end);
            DataTable       dtHolidays = InspectionPlan_DL.Holidays(year, start, end);
            foreach (DataRow item in dtHolidays.Rows)
            {
                string stDate = Convert.ToString(item["HolidayDate"]);
                if (stDate.Contains("/"))
                {
                    string[] keys  = stDate.Split('/');
                    DateTime hdate = new DateTime(Convert.ToInt32(keys[2]), Convert.ToInt32(keys[0]), Convert.ToInt32(keys[1]));
                    if (hdate.DayOfWeek != DayOfWeek.Sunday && dates.Contains(hdate))
                    {
                        dates.Remove(new DateTime(Convert.ToInt32(keys[2]), Convert.ToInt32(keys[0]), Convert.ToInt32(keys[1])));
                    }
                }
            }
            dates = dates.OrderBy(m => m).ToList();
            List <int> months = dates.Select(m => m.Month).Distinct().ToList();

            DataTable farmervillages = UnitInformation_DL.FarmersVillageListByIcs("ICS02");
            int       c = farmervillages.Rows.Count;

            List <MudarVillage> villages = new List <MudarVillage>();
            foreach (DataRow item in farmervillages.Rows)
            {
                MudarVillage village = new MudarVillage();
                village.VillageName = Convert.ToString(item["City_Village"]);
                DataTable dtFarmer = Farmer_DL.GetFarmerlistVillagewise(village.VillageName);

                List <MudarFarmer> farmers = new List <MudarFarmer>();
                for (int j = 0; j < dtFarmer.Rows.Count; j++)
                {
                    MudarFarmer farmer = new MudarFarmer();
                    farmer.FarmerID   = Convert.ToString(dtFarmer.Rows[j]["FarmerID"]);
                    farmer.FirstName  = Convert.ToString(dtFarmer.Rows[j]["FirstName"]);
                    farmer.FarmerCode = Convert.ToString(dtFarmer.Rows[j]["FarmerCode"]);
                    farmer.IsVisited  = false;
                    farmers.Add(farmer);
                }
                int[] visitMonths = ShareEqual(farmers.Count, months.Count);
                int   mn          = 0;
                int   skip        = 0;
                foreach (var vm in months)
                {
                    farmers.Skip(skip).Take(visitMonths[mn]).ToList().ForEach(m => m.VisitedMonth = vm);
                    skip = skip + visitMonths[mn];
                    mn   = mn + 1;
                }
                village.Farmers = farmers;
                villages.Add(village);
            }
            DataTable            EmployeeTable = BranchsRolesEmployees_DL.GetEmployeBasedonRoleID(role);
            List <MudarEmployee> emps          = new List <MudarEmployee>();
            foreach (DataRow item in EmployeeTable.Rows)
            {
                MudarEmployee emp = new MudarEmployee();
                emp.EmployeeID   = new Guid(Convert.ToString(item["EmployeeId"]));
                emp.EmployeeName = Convert.ToString(item["EmployeeFristName"]);
                emps.Add(emp);
            }
            List <MudarPlanModel> newPlans = new List <MudarPlanModel>();
            foreach (var mnth in months)
            {
                List <DateTime> monthDates = dates.Where(m => m.Month == mnth && m.Year == year).ToList();
                int             mod        = Convert.ToInt32((monthDates.Count) / c);
                int             l          = Convert.ToInt32((monthDates.Count) % c);
                villages.ForEach(m => m.loopCount = mod);
                for (int i = 0; i < l; i++)
                {
                    villages[i].loopCount += 1;
                }
                int h = 0;
                foreach (var item in villages)
                {
                    List <MudarFarmer> listFarmers = item.Farmers.Where(m => m.VisitedMonth == mnth).ToList();
                    int[] farmerVisitedPerInsp     = ShareEqual(listFarmers.Count, emps.Count);
                    int   f = 0;
                    foreach (var item1 in emps)
                    {
                        int[] timesVisit = ShareEqual(farmerVisitedPerInsp[f], item.loopCount);
                        int   k          = h;
                        foreach (var visit in timesVisit)
                        {
                            List <MudarFarmer> visitFarmers = listFarmers.Where(m => m.IsVisited == false).Take(visit).ToList();
                            foreach (var farm in visitFarmers)
                            {
                                MudarPlanModel plan = new MudarPlanModel();
                                plan.FarmerID      = farm.FarmerID;
                                plan.FarmerName    = farm.FirstName;
                                plan.FarmerCode    = farm.FarmerCode;
                                plan.VillageName   = item.VillageName;
                                plan.InspectorCode = item1.EmployeeID;
                                plan.InspectorName = item1.EmployeeName;
                                plan.PlanDate      = monthDates[k];
                                plan.VisitedDate   = monthDates[k];
                                var empCheck = newPlans.Where(m => m.PlanDate.ToShortDateString() == plan.PlanDate.ToShortDateString() && m.VillageName == plan.VillageName && m.InspectorName != plan.InspectorName).ToList();
                                if (empCheck.Count <= 0)
                                {
                                    newPlans.Add(plan);
                                }
                            }
                            listFarmers.Where(m => m.IsVisited == false).Take(visit).ToList().ForEach(m => m.IsVisited = true);
                            k = k + villages.Count;
                            if (k >= monthDates.Count)
                            {
                                k = 0;
                            }
                        }
                        f = f + 1;
                        h = h + 1;
                    }
                    h = h - 1;
                    item.Farmers.Where(m => m.VisitedMonth == mnth).ToList().ForEach(m => m.IsVisited = true);
                }
            }
            newPlans = newPlans.OrderBy(m => m.PlanDate).ToList();
            foreach (var item in newPlans)
            {
                DataRow newrow = dtNewPlan.NewRow();
                newrow["FarmerID"]      = item.FarmerID;
                newrow["FarmerName"]    = item.FarmerName;
                newrow["FarmerCode"]    = item.FarmerCode;
                newrow["FarmerArea"]    = item.VillageName;
                newrow["InspectorID"]   = item.InspectorCode;
                newrow["InspectorName"] = item.InspectorName;
                newrow["PlanDate"]      = item.PlanDate.ToShortDateString();
                newrow["VisitedDate"]   = item.VisitedDate.ToShortDateString();
                dtNewPlan.Rows.Add(newrow);
            }
            dt = dtNewPlan;
            if (dt.Rows.Count > 0)
            {
                Session["Inspec"]          = string.Empty;
                Session["Inspec"]          = dt;
                lblFarmers.Text            = dt.Rows.Count.ToString();
                divShowPlanDetails.Visible = true;
                btnSubmit.Visible          = true;
                gvPlan.DataSource          = dt;
                gvPlan.DataBind();
            }
            else
            {
                Response.Write("<script>alert('No Data Found for InspectionPlan !!!!'</script>");
            }
        }
        catch (Exception ex)
        {
            Session["ErrorMsg"] = ex.Message;
            Response.Redirect("~/NoAccess.aspx", false);
        }
    }
コード例 #3
0
 public DataTable GetDisitlationUnits(string UnitID, string ICSType, string Year)
 {
     return(UnitInformation_DL.GetDisitlationUnits(UnitID, ICSType, Year));
 }
コード例 #4
0
 public DataTable GetDisitlationUnits(string ICSType)
 {
     return(UnitInformation_DL.GetDisitlationUnits(ICSType));
 }
コード例 #5
0
 public DataTable FarmersVillageList(string FarmerID)
 {
     return(UnitInformation_DL.FarmersVillageList(FarmerID));
 }
コード例 #6
0
 public DataTable UnitInformationBasedOnVillage(string Village)
 {
     return(UnitInformation_DL.UnitInformationBasedOnVillage(Village));
 }
コード例 #7
0
 public DataTable FarmersVillageList()
 {
     return(UnitInformation_DL.FarmersVillageList());
 }
コード例 #8
0
 public DataTable FarmersVillageListByIcs(string icsType)
 {
     return(UnitInformation_DL.FarmersVillageListByIcs(icsType));
 }
コード例 #9
0
 public DataSet UnitInformation(string UnitID)
 {
     return(UnitInformation_DL.UnitInformation(UnitID));
 }
コード例 #10
0
 public DataTable GetUnitInofBasedonICS(string ICSVillage)
 {
     return(UnitInformation_DL.GetUnitInofBasedonICS(ICSVillage));
 }
コード例 #11
0
 public DataTable UnitInformation()
 {
     return(UnitInformation_DL.UnitInformation());
 }
コード例 #12
0
 public bool UnitInformation(string UnitID, ref DataTable dtUnitInfo)
 {
     return(UnitInformation_DL.UnitInformation(UnitID, ref dtUnitInfo));
 }
コード例 #13
0
 public bool UnitInformationDetails_INSandUPDandDEL_new(string UnitId, string Name, string Ucode, string Uowner, string Address, int RawRequired, string OutputState, string OutputMaterial, string CapacityOfPlant, string LotsOfProducesSimultaneously, int PermanentLabour, int TemporaryLabour, int ChildLabour, string CreatedBy, string ModifiedBy, int TypeOfOperation, string Unit_Village)
 {
     return(UnitInformation_DL.UnitInformationDetails_INSandUPDandDEL_new(UnitId, Name, Ucode, Uowner, Address, RawRequired, OutputState, OutputMaterial, CapacityOfPlant, LotsOfProducesSimultaneously, PermanentLabour, TemporaryLabour, ChildLabour, CreatedBy, ModifiedBy, TypeOfOperation, Unit_Village));
 }
コード例 #14
0
        public DataTable Newplan(int year, decimal DaysPerFarmer, DateTime startDate, DateTime endDate, string role)
        {
            int       count      = 0;
            DataTable dtNewPlan  = new DataTable();
            DataTable dtHolidays = Holidays(year, startDate, endDate);
            DateTime  planDate;
            DateTime  planDate1 = startDate;
            DataTable dtdate    = new DataTable();

            dtdate.Columns.Add("Village");
            dtdate.Columns.Add("PlanDate");
            dtdate.Columns.Add("InspectorID");
            dtdate.Columns.Add("InspectorName");
            DataTable farmervillages = UnitInformation_DL.FarmersVillageList();
            Random    randomdate     = new Random();

            for (int v = 0; v < farmervillages.Rows.Count; v++)
            {
                for (int d = 0; d < 5; d++)
                {
                    DataRow newrow = dtdate.NewRow();
                    newrow["Village"] = farmervillages.Rows[v]["City_Village"].ToString();
                    if (planDate1 >= startDate && planDate1 <= endDate)
                    {
                        int range = ((TimeSpan)(Convert.ToDateTime(endDate) - Convert.ToDateTime(startDate))).Days;
                        planDate = Convert.ToDateTime(startDate).AddDays(randomdate.Next(range));
                        DataTable EmployeeTable = BranchsRolesEmployees_DL.GetEmployeBasedonRoleID(role);
                        if (EmployeeTable.Rows.Count > 0)
                        {
                            int getunitID = new Random().Next(0, EmployeeTable.Rows.Count);
                            if (count == 0)
                            {
                                newrow["InspectorID"]   = EmployeeTable.Rows[getunitID]["EmployeeId"].ToString();
                                newrow["InspectorName"] = EmployeeTable.Rows[getunitID]["EmployeeFristName"].ToString();
                                count++;
                            }
                            else
                            {
                                newrow["InspectorID"]   = EmployeeTable.Rows[count]["EmployeeId"].ToString();
                                newrow["InspectorName"] = EmployeeTable.Rows[count]["EmployeeFristName"].ToString();
                            }
                        }
                        if (planDate.DayOfWeek.ToString().ToLower() == "sunday")
                        {
                            planDate = planDate.AddDays(1);
                        }
                        if (planDate.DayOfWeek.ToString().ToLower() != "sunday")
                        {
                            for (int hcount = 0; hcount < dtHolidays.Rows.Count; hcount++)
                            {
                                if (DateTime.Compare(planDate, Convert.ToDateTime(dtHolidays.Rows[hcount]["HolidayDate"].ToString().Trim())) == 0)
                                {
                                    planDate = planDate.AddDays(1);
                                    hcount   = -1;
                                }
                            }
                            if (planDate.DayOfWeek.ToString().ToLower() == "sunday")
                            {
                                planDate = planDate.AddDays(1);
                            }
                            newrow["PlanDate"] = planDate.ToShortDateString();
                        }
                    }
                    dtdate.Rows.Add(newrow);
                }
            }
            return(dtdate);
        }
コード例 #15
0
        // new code testing purpose
        public DataTable Newoneplan(int year, decimal DaysPerFarmer, DateTime startDate, DateTime endDate, string role)
        {
            DataTable dtNewPlan = new DataTable();

            dtNewPlan.Columns.Add("FarmerID");
            dtNewPlan.Columns.Add("FarmerName");
            dtNewPlan.Columns.Add("FarmerCode");
            dtNewPlan.Columns.Add("FarmerArea");
            dtNewPlan.Columns.Add("InspectorID");
            dtNewPlan.Columns.Add("InspectorName");
            dtNewPlan.Columns.Add("PlanDate");
            dtNewPlan.Columns.Add("VisitedDate");
            dtNewPlan.Columns.Add("InspectionID");
            List <DateTime> dates      = GetDates(year, startDate, endDate);
            DataTable       dtHolidays = InspectionPlan_DL.Holidays(year, startDate, endDate);

            foreach (DataRow item in dtHolidays.Rows)
            {
                string stDate = Convert.ToString(item["HolidayDate"]);
                if (stDate.Contains("/"))
                {
                    string[] keys  = stDate.Split('/');
                    DateTime hdate = new DateTime(Convert.ToInt32(keys[2]), Convert.ToInt32(keys[0]), Convert.ToInt32(keys[1]));
                    if (hdate.DayOfWeek != DayOfWeek.Sunday && dates.Contains(hdate))
                    {
                        dates.Remove(new DateTime(Convert.ToInt32(keys[2]), Convert.ToInt32(keys[0]), Convert.ToInt32(keys[1])));
                    }
                }
            }
            dates = dates.OrderBy(m => m).ToList();
            DataTable           farmervillages = UnitInformation_DL.FarmersVillageList();
            int                 c        = farmervillages.Rows.Count;
            int                 mod      = Convert.ToInt32(dates.Count / c);
            int                 l        = Convert.ToInt32(dates.Count % c);
            List <MudarVillage> villages = new List <MudarVillage>();

            foreach (DataRow item in farmervillages.Rows)
            {
                MudarVillage village = new MudarVillage();
                village.VillageName = Convert.ToString(item["City_Village"]);
                village.loopCount   = mod;
                villages.Add(village);
            }
            for (int i = 0; i < l; i++)
            {
                villages[i].loopCount += 1;
            }

            DataTable            EmployeeTable = BranchsRolesEmployees_DL.GetEmployeBasedonRoleID(role);
            List <MudarEmployee> emps          = new List <MudarEmployee>();

            foreach (DataRow item in EmployeeTable.Rows)
            {
                MudarEmployee emp = new MudarEmployee();
                emp.EmployeeID   = new Guid(Convert.ToString(item["EmployeeId"]));
                emp.EmployeeName = Convert.ToString(item["EmployeeFristName"]);
                emps.Add(emp);
            }
            bool   first    = false;
            int    h        = 0;
            int    village2 = 0;
            Random random   = new Random();

            for (int wd = 0; wd < dates.Count; wd++)
            {
                for (int vil = h; vil < 2; vil++)
                {
                    string village = string.Empty;
                    int    getID   = random.Next(0, farmervillages.Rows.Count);
                    village = farmervillages.Rows[getID]["City_Village"].ToString();
                    DataTable dtFarmer = Farmer_DL.GetFarmerlistVillagewise(village);
                    for (int r = 0; r < dtNewPlan.Rows.Count; r++)
                    {
                        string    farmersid = string.Empty;
                        DataTable newdt     = new DataTable();
                        farmersid = dtNewPlan.Rows[r]["FarmerID"].ToString();
                        for (int fv = 0; fv < dtFarmer.Rows.Count; fv++)
                        {
                            if (dtNewPlan.Rows[r]["FarmerID"].ToString() == dtFarmer.Rows[fv]["FarmerID"].ToString())
                            {
                            }
                        }
                    }
                    int p = (Convert.ToInt32(dtFarmer.Rows.Count.ToString()) / mod);
                    for (int f = 0; f < p; f++)
                    {
                        DataRow newrow = dtNewPlan.NewRow();
                        newrow["InspectionID"] = "0";
                        newrow["FarmerID"]     = dtFarmer.Rows[f]["FarmerID"];
                        newrow["FarmerName"]   = dtFarmer.Rows[f]["FirstName"];
                        newrow["FarmerCode"]   = dtFarmer.Rows[f]["FarmerCode"];
                        newrow["FarmerArea"]   = dtFarmer.Rows[f]["City_Village"];
                        if (first == false)
                        {
                            newrow["InspectorID"]   = emps[0].EmployeeID;
                            newrow["InspectorName"] = emps[0].EmployeeName;
                            //first = true;
                        }
                        else
                        {
                            newrow["InspectorID"]   = emps[1].EmployeeID;
                            newrow["InspectorName"] = emps[1].EmployeeName;
                            //first = false;
                        }
                        newrow["PlanDate"]    = dates[wd].ToShortDateString();
                        newrow["VisitedDate"] = dates[wd].ToShortDateString();
                        dtNewPlan.Rows.Add(newrow);
                    }

                    first    = true;
                    village2 = village2 + 1;
                    h++;
                    if (village2 == 2)
                    {
                        //wd = wd + 1;
                        village2 = 0;
                        first    = false;
                        h        = 0;
                        break;
                    }
                }
            }
            return(dtNewPlan);
        }