private void LoadDropDown()
        {
            try
            {
                List <Segment> lstSegment = new SegmentDAL().GetSegments().Where(x => x.Status == "A" && x.AccountCodeFlag == false).OrderBy(x => x.SegmentOrder).ToList();

                gvSegmentDLLs.DataSource = lstSegment;
                gvSegmentDLLs.DataBind();

                //GridView: Period
                List <PeriodMenguru> lstPeriodMengurus = new PeriodMengurusDAL().GetPeriodMengurus().Where(x => x.Status == "A" && x.MengurusYear > DateTime.Now.Year)
                                                         .OrderBy(x => x.MengurusYear).ThenBy(x => x.FieldMenguru.FieldMengurusDesc).ToList();

                List <FieldMenguru> obj = new FieldMenguruDAL().GetFieldMengurus().Where(x => x.Status == "F").ToList();
                Session["FixedFieldMengurus"] = obj;

                foreach (FieldMenguru item in obj)
                {
                    PeriodMenguru pm = new PeriodMenguru();

                    pm.PeriodMengurusID = item.FieldMengurusID;
                    pm.MengurusYear     = DateTime.Now.Year;
                    pm.FieldMenguru     = new FieldMenguru {
                        FieldMengurusDesc = item.FieldMengurusDesc
                    };

                    lstPeriodMengurus.Add(pm);
                }

                gvPeriod.DataSource = lstPeriodMengurus.Select(x => new
                {
                    x.PeriodMengurusID,
                    x.MengurusYear,
                    x.FieldMenguru.FieldMengurusDesc
                });
                gvPeriod.DataBind();
            }
            catch (Exception ex)
            {
                ((SiteMaster)this.Master).ShowMessage("Error", "An error occurred", ex, true);
            }
        }
        private void LoadDropDown()
        {
            try
            {
                ddlStatus.DataSource = Enum.GetValues(typeof(Helper.ItemStatus));
                ddlStatus.DataBind();

                for (int i = DateTime.Now.Year; i <= DateTime.Now.Year + 10; i++)
                {
                    ddlYear.Items.Add(new ListItem(i.ToString(), i.ToString()));
                }

                List <FieldMenguru> obj = new FieldMenguruDAL().GetFieldMengurus().Where(x => x.FieldMengurusDesc.Contains("Anggaran Dipohon") && x.Status == "A").ToList();
                foreach (var item in obj)
                {
                    tbFieldMengurus.Text = string.Format("{0}", item.FieldMengurusDesc);
                }
            }
            catch (Exception ex)
            {
                ((SiteMaster)this.Master).ShowMessage("Error", "An error occurred", ex, true);
            }
        }
        protected void btnSave_Click(object sender, EventArgs e)
        {
            try
            {
                int FieldID = new FieldMenguruDAL().GetFieldMengurus().Where(x => x.FieldMengurusDesc.Contains("Anggaran Dipohon") &&
                                                                             x.Status == "A").Select(y => y.FieldMengurusID).FirstOrDefault();

                if ((Helper.PageMode)Session["PeriodMenguruPageMode"] == Helper.PageMode.New)
                {
                    if (new PeriodMengurusDAL().GetPeriodMengurus().Where(x => x.FieldMengurusID == FieldID && x.MengurusYear == Convert.ToInt32(ddlYear.SelectedValue)).Count() > 0)
                    {
                        ((SiteMaster)this.Master).ShowMessage("Failure", "Period Mengurus already exists");
                        return;
                    }

                    PeriodMenguru objPeriodMenguru = new PeriodMenguru();
                    objPeriodMenguru.FieldMengurusID   = FieldID;
                    objPeriodMenguru.MengurusYear      = Convert.ToInt32(ddlYear.SelectedValue);
                    objPeriodMenguru.Status            = new Helper().GetItemStatusEnumValueByName(ddlStatus.SelectedValue);
                    objPeriodMenguru.CreatedBy         = LoggedInUser.UserID;
                    objPeriodMenguru.CreatedTimeStamp  = DateTime.Now;
                    objPeriodMenguru.ModifiedBy        = LoggedInUser.UserID;
                    objPeriodMenguru.ModifiedTimeStamp = DateTime.Now;

                    if (new PeriodMengurusDAL().InsertPeriodMenguru(objPeriodMenguru))
                    {
                        ((SiteMaster)this.Master).ShowMessage("Success", "Period Mengurus saved successfully");
                    }
                    else
                    {
                        ((SiteMaster)this.Master).ShowMessage("Failure", "An error occurred while saving Period Mengurus");
                    }
                }
                else if ((Helper.PageMode)Session["PeriodMenguruPageMode"] == Helper.PageMode.Edit)
                {
                    PeriodMenguru objPeriodMenguru = (PeriodMenguru)Session["SelectedPeriodMenguru"];

                    PeriodMenguru pm = new PeriodMengurusDAL().GetPeriodMengurus().Where(x => x.FieldMengurusID == FieldID && x.MengurusYear == Convert.ToInt32(ddlYear.SelectedValue)).FirstOrDefault();
                    if (pm != null)
                    {
                        if (pm.PeriodMengurusID != objPeriodMenguru.PeriodMengurusID)
                        {
                            ((SiteMaster)this.Master).ShowMessage("Failure", "Period Mengurus already exists");
                            return;
                        }
                    }

                    objPeriodMenguru.FieldMengurusID   = FieldID;
                    objPeriodMenguru.MengurusYear      = Convert.ToInt32(ddlYear.SelectedValue);
                    objPeriodMenguru.Status            = new Helper().GetItemStatusEnumValueByName(ddlStatus.SelectedValue);
                    objPeriodMenguru.ModifiedBy        = LoggedInUser.UserID;
                    objPeriodMenguru.ModifiedTimeStamp = DateTime.Now;

                    if (new PeriodMengurusDAL().UpdatePeriodMenguru(objPeriodMenguru))
                    {
                        ((SiteMaster)this.Master).ShowMessage("Success", "Period Mengurus updated successfully");
                    }
                    else
                    {
                        ((SiteMaster)this.Master).ShowMessage("Failure", "An error occurred while updating Period Mengurus");
                    }
                }

                GetData();
                ClearPageData();
                EditForm.Visible = false;
            }
            catch (Exception ex)
            {
                ((SiteMaster)this.Master).ShowMessage("Error", "An error occurred", ex, true);
            }
        }