Ejemplo n.º 1
0
        private GradingModel SetGrading()
        {
            Boolean Isnormaldeposit = true;

            if (RdBtndeposit.Checked != true)
            {
                Isnormaldeposit = false;
            }
            int gradingResultStatus = ((Dictionary <string, int>)ViewState["FGs"])[drpCommodityFactorGroup.SelectedValue];
            //eg. General Requirement Fail Sesame status = 3

            GradingModel gm = new GradingModel();

            gm.ID = new Guid(ViewState["GradingResultID"].ToString()); // new Guid(ViewState[GradingConstants.GradingID.ToString()].ToString());
            Guid gFGID = new Guid(drpCommodityFactorGroup.SelectedValue);

            gm.GradingResultStatusID = gradingResultStatus;
            gm.GradingFactorGroupID  = gFGID;
            if ((int)GradingResultStatus.AcceptableResult == gradingResultStatus)//for moisture fail
            {
                gm.GradingFactorGroupID  = gFGID;
                gm.GradingResultStatusID = (int)GradingResultStatus.AcceptableResult;
                gm.TotalValue            = 0;
                gm.GradeRecived          = drpGrade.SelectedItem.Text;
                gm.ProductionYear        = int.Parse(drpProductionYear.Text);
                gm.CommodityClassID      = new Guid(drpCommodityClass.SelectedValue);
                gm.Isnormaldeposit       = Isnormaldeposit;
            }
            gm.NumberofSeparations  = 1;/*By default the separation(segrigation) number is one*/
            gm.GradeRecivedDateTime = DateTime.Parse(txtDateRecived.Text + " " + txtTimeRecived.Text);
            gm.ResultCreatedBy      = BLL.UserBLL.CurrentUser.UserId;
            gm.LastModifiedBy       = BLL.UserBLL.CurrentUser.UserId;

            GradingDetail gd;
            decimal       gradingValue = 0;

            //bool ValueForsemi_wased =false;
            //bool ValueForUnderScreen =false;
            int?classificationNo = 1;

            ViewState["ClassificatonMsg"] = null;
            foreach (GridViewRow gr in gvGradingFactors1.Rows)
            {
                GradingResultControlNew grc = ((GradingResultControlNew)gr.FindControl("ResultInputControl"));
                if (!grc.validate())
                {
                    Messages1.SetMessage("The grading factor '" + ((Label)gr.FindControl("lblGradingFactorName")).Text + "' has invalid Value! " +
                                         grc.errorMessage,
                                         Messages.MessageType.Error);
                    return(null);
                }
                gd                 = new GradingDetail(gm);
                gd.ID              = Guid.NewGuid();
                gd.GradingsID      = gm.ID;
                gd.GradingFactorID = new Guid(((Label)gr.FindControl("lblId")).Text);
                gd.ReceivedValue   = grc.Value;
                gd.Status          = 1;
                gm.addGradingDetail(gd);
                TextBox isInTotal = ((TextBox)gr.FindControl("txtIsInTotalValue"));

                gradingValue = 0;
                bool canAddToTotal = false;
                if (decimal.TryParse(grc.Value.ToString(), out gradingValue) &&/*we need the value after the loop even if not added to total value*/
                    bool.TryParse(isInTotal.Text, out canAddToTotal) && canAddToTotal)
                {
                    gm.TotalValue += gradingValue;
                }

                if (!gd.IsValid())
                {
                    Messages1.SetMessage("The grading factor" + ((Label)gr.FindControl("lblGradingFactorName")).Text + " " + gd.ErrorMessage,
                                         Messages.MessageType.Error);
                    return(null);
                }
                /*Check for semi-washed, under screen and Moisture Content factor values*/
                decimal limit = -1;
                string  value = ((Label)gr.FindControl("lblIsSemiWashedFactor")).Text;
                if (bool.Parse(value) && grc.Value.ToString().ToLower() == "yes")//for semi-washed case
                {
                    classificationNo *= 3;
                    if (ViewState["ClassificatonMsg"] != null)
                    {
                        ViewState.Add("ClassificatonMsg", ViewState["ClassificatonMsg"].ToString() + ", Semi-washed");
                    }
                    else
                    {
                        ViewState.Add("ClassificatonMsg", "Semi-washed");
                    }
                }
                value = ((Label)gr.FindControl("lblIsUnderScreenFactor")).Text;
                if (bool.Parse(value) && decimal.TryParse(((Label)gr.FindControl("lblUnderScreenLimit")).Text, out limit) &&
                    limit > 0 && gradingValue < limit)   //for under screen case
                {
                    classificationNo *= 5;
                    if (ViewState["ClassificatonMsg"] != null)
                    {
                        ViewState.Add("ClassificatonMsg", ViewState["ClassificatonMsg"].ToString() + ", Under Screen");
                    }
                    else
                    {
                        ViewState.Add("ClassificatonMsg", "Under Screen");
                    }
                }
                value = ((Label)gr.FindControl("lblIsType")).Text;
                if (bool.Parse(value) && decimal.TryParse(grc.Value, out limit))//for non coffee case
                {
                    classificationNo *= int.Parse(grc.Value);
                    if (ViewState["ClassificatonMsg"] != null)
                    {
                        ViewState.Add("ClassificatonMsg", ViewState["ClassificatonMsg"].ToString() + ", " + grc.Text);
                    }
                    else
                    {
                        ViewState.Add("ClassificatonMsg", grc.Text);
                    }
                }
                //Moisture Content factor values
                value = ((Label)gr.FindControl("lblIsMoistureContentFactor")).Text;
                //string expvalue = "";
                //expvalue = ((Label)gr.FindControl("MoistureContentLimitexp")).Text;
                limit = -1;
                if (bool.Parse(value) && decimal.TryParse(((Label)gr.FindControl("lblMoistureContentLimit")).Text, out limit) &&
                    limit > 0)   //for moisture content case
                {
                    string MFFactorGroup = ((Label)gr.FindControl("lblMoistureFailFactorGroup")).Text;
                    if (gradingValue > limit && !gm.GradingFactorGroupID.ToString().Equals(MFFactorGroup.Trim()))
                    {
                        Messages1.SetMessage("Value entered for moisture content is above range " + limit.ToString() +
                                             "! The grading must be considered with factor group 'Moisture Fail'!",
                                             Messages.MessageType.Error);
                        return(null);
                    }
                    else if (gradingValue <= limit && gm.GradingFactorGroupID.ToString().Equals(MFFactorGroup.Trim()))
                    {
                        Messages1.SetMessage("The grading factor moisture content is set with in the limit " + limit.ToString() +
                                             "! The grading MUST NOT be considered with factor group 'Moisture Fail'!",
                                             Messages.MessageType.Error);
                        return(null);
                    }
                }
            }
            //gm.IsSemiWashed = ValueForsemi_wased;
            //gm.IsUnderScreen = ValueForUnderScreen;
            if (classificationNo > 1)
            {
                gm.ClassificationNo = classificationNo;
            }

            /*we expect only one factor for segrigation request
             * i.e. number of segrigations the grading value will take this value from above*/
            if ((int)GradingResultStatus.SegrigationRequested == gradingResultStatus)
            {
                gm.NumberofSeparations = Convert.ToInt32(gradingValue);
            }

            if (!gm.IsValidForGradingResult())
            {
                Messages1.SetMessage(gm.ErrorMessage, Messages.MessageType.Error);
                return(null);
            }

            return(gm);
        }
Ejemplo n.º 2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            // DataTable dt = new DataTable();
            ActiveReport rpt = null;

            if (Session["ReportType"].ToString() == "PreArrival")
            {
                BLL.PreArrival objPreArrival = new BLL.PreArrival();
                DataTable      dt            = objPreArrival.PopulatePreArrival(new Guid(Session["CommodityRequestId"].ToString()));
                rpt                           = new rptTrackingReport();
                rpt.DataSource                = dt;
                WebViewer1.Report             = rpt;
                Session["CommodityRequestId"] = null;
                WebViewer1.Width              = 600;
                WebViewer1.Height             = 400;
            }
            if (Session["ReportType"].ToString() == "GRN")
            {
                rpt = new rptGRNnew();
                GRN_BL    objGrnBl = new GRN_BL();
                DataTable dt       = objGrnBl.GetGRNReport(new Guid(Session["GRNId_GRN"].ToString()));
                rpt.DataSource    = dt;
                WebViewer1.Report = rpt;
            }
            if (Session["ReportType"].ToString() != "DoNuthing")
            {
                if (Session["ReportType"].ToString() == "PUN")
                {
                    rpt            = new rptPUNReport();
                    rpt.DataSource = GINBussiness.PickupNoticeModel.PrintPUN(Session["PUNID"].ToString());
                }
                else if (Session["ReportType"].ToString() == "GIN")
                {
                    rpt = new rptGINReport();
                    Session["GINID"] = ((GINModel)Session["GINMODEL"]).ID;
                    rpt.DataSource   = GINBussiness.PickupNoticeModel.PrintGIN(Convert.ToBoolean(Session["EditModePrint"]), new Guid(Session["GINID"].ToString()));
                }
                else if (Session["ReportType"].ToString() == "PSA")
                {
//----------Updated START ------ NOV 27 2013

                    // if it is redirected from search page
                    string statusx = "Unapproved PSA";
                    if (Request.QueryString["GINID"] == null)
                    {
                        rpt = new rptPSAReport(statusx);
                        Session["GINPSAID"] = ((GINModel)Session["GINMODEL"]).ID;
                        rpt.DataSource      = GINBussiness.PickupNoticeModel.PrintPSA(new Guid(Session["GINPSAID"].ToString()));
                    }
                    else
                    {
                        statusx = (Convert.ToInt16(Request.QueryString["ST"]) % 11 == 0) ? "Approved" : "Unapproved PSA";
                        rpt     = new rptPSAReport(statusx);
                        if (statusx.Equals("Approved"))
                        {
                            rpt.DataSource = GINBussiness.PickupNoticeModel.PrintPSA_Approved(new Guid(Request.QueryString["GINID"]));
                        }
                        else
                        {
                            rpt.DataSource = GINBussiness.PickupNoticeModel.PrintPSA(new Guid(Request.QueryString["GINID"]));
                        }
                    }
//----------Updated End ------ NOV 27 2013
                }
                else if (Session["ReportType"].ToString() == "ExpierdList")
                {
                    rpt = new rptPickupNoticeExpiredList();
                    DataTable dt = new DataTable();
                    dt = PickupNoticeModel.SearchExpieredList(UserBLL.GetCurrentWarehouse(), Convert.ToDateTime(Session["ExpirationDateFrom"]), Convert.ToDateTime(Session["ExpirationDateTo"]));
                    if (dt.Rows.Count > 0)
                    {
                        rpt.DataSource = dt;
                    }
                    else
                    {
                        return;
                    }
                }
                else if (Session["ReportType"].ToString() == "ExpierdListAdmin")
                {
                    rpt = new rptPickupNoticeExpiredList();
                    DataTable dt = new DataTable();
                    dt = PickupNoticeModel.SearchExpieredListAdmin(Convert.ToDateTime(Session["ExpirationDateFrom"]), Convert.ToDateTime(Session["ExpirationDateTo"]));
                    if (dt.Rows.Count > 0)
                    {
                        rpt.DataSource = dt;
                    }
                    else
                    {
                        return;
                    }
                }
                else if (Session["ReportType"].ToString() == "GINApproval")
                {
                    rpt                          = new rptGINApproval();
                    rpt.DataSource               = GINBussiness.GINModel.PrintGINApprovalReport(UserBLL.GetCurrentWarehouse(), new Guid(Session["SelectedLIC"].ToString()));
                    WebViewer1.Report            = rpt;
                    rpt.PageSettings.Margins.Top = 0;
                }
                else if (Session["ReportType"].ToString() == "SampleTicket")
                {
                    //rpt = new rptSampleTicketCoffeeNew();
                    //rpt.DataSource = SamplingBussiness.SamplingModel.GetSampleTicketReport(new Guid(Session["SampleId"].ToString()));

                    rpt            = new rptSampleTicketCoffeeNew();
                    rpt.DataSource = SamplingBussiness.SamplingModel.GetSampleTicketReport(new Guid(Session["SampleId"].ToString()));
                }
                else if (Session["ReportType"].ToString() == "GradingResult")
                {
                    rpt = new rptResultReport();

                    rpt.DataSource = GradingModel.GradingResultreport(Session["GradingCode"].ToString());
                }
                else if (Session["ReportType"].ToString() == "GradingResultNoDeposit")
                {
                    rpt = new rptInspectionTestResult();

                    rpt.DataSource = GradingModel.GetInspectionTestResult(Session["GradingCode"].ToString(), UserBLL.GetCurrentWarehouse());
                }
                else if (Session["ReportType"].ToString() == "GradingCode")
                {
                    rpt = new rptGenerate();
                    DataTable dt = new DataTable();
                    dt = GradingModel.printCode(new Guid(Session["GenerateCode"].ToString()), new Guid(Session["VoucherCommodityTypeID"].ToString()), new Guid(Session["CommodityID"].ToString()));

                    rpt.DataSource = dt;
                }
                else if (Session["ReportType"].ToString() == "GradingResultForSegrigation")
                {
                    rpt            = new Report.rptSegrigationGradingReport();
                    rpt.DataSource = GradingModel.GradingResultreportForSegrigation(Session["GradingCode"].ToString());
                }
                if (Session["ReportType"].ToString() != "GINApproval")
                {
                    rpt.PageSettings.Margins.Top   = 0;
                    rpt.PageSettings.Margins.Left  = 0.4f;
                    rpt.PageSettings.Margins.Right = 0.4f;
                    WebViewer1.Report = rpt;

                    //rpt.Run(false);
                    //Response.ContentType = "application/pdf";
                    //Response.AddHeader("content-disposition", "inline; filename=MyPDF.PDF");

                    //// Create the PDF export object
                    //PdfExport pdf = new PdfExport();
                    //// Create a new memory stream that will hold the pdf output
                    //System.IO.MemoryStream memStream = new System.IO.MemoryStream();
                    //// Export the report to PDF:
                    //pdf.Export(rpt.Document, memStream);
                    //// Write the PDF stream out
                    //Response.BinaryWrite(memStream.ToArray());
                    //// Send all buffered content to the client
                    //Response.End();
                }
            }
        }
Ejemplo n.º 3
0
        private void PopulateGradeResult(string gradeResultCode)
        {
            GradingModel gradingResult = GradingModel.GetGradingInformationByGradingCode(gradeResultCode);

            ViewState.Add("EditMode", true);
            ViewState["GradingResultID"]   = gradingResult.ID;
            lblGradingCodeValue.Text       = gradingResult.GradingCode;
            lblCodeGeneratedDateValue.Text = gradingResult.DateTimeCoded.ToShortDateString();
            lblCodeGeneratedTimeValue.Text = gradingResult.DateTimeCoded.ToShortTimeString();
            lblGraderCupperValue.Text      = BLL.UserBLL.GetName(gradingResult.UserId);
            txtCommodity.Text = gradingResult.CommodityName;
            if (gradingResult.CommodityID == null)
            {
                Messages1.SetMessage("Please specify the commodity in Arrival form to continue!");
                return;
            }
            ViewState.Add(GradingConstants.CommodityId.ToString(), gradingResult.CommodityID.ToString());
            ViewState.Add(GradingConstants.IsNonCoffee.ToString(),
                          !ConfigurationManager.AppSettings["CoffeeId"].ToUpper().Trim().Equals(gradingResult.CommodityID.ToString().ToUpper().Trim()));
            ViewState.Add(GradingConstants.WeradaId.ToString(), gradingResult.WoredaID.ToString());
            ViewState.Add(GradingConstants.GradingID.ToString(), gradingResult.ID);
            ViewState.Add(GradingConstants.CommodityTypeID.ToString(), gradingResult.VoucherCommodityTypeID);
            txtDateRecived.Text = gradingResult.GradeRecivedDateTime.ToShortDateString();
            txtTimeRecived.Text = gradingResult.GradeRecivedDateTime.ToShortTimeString();

            if (gradingResult.ClientAcceptanceTimeStamp >= gradingResult.GradeRecivedDateTime)
            {
                ViewState.Add("ClientAcceptanceTimeStamp", gradingResult.ClientAcceptanceTimeStamp);
            }

            if (gradingResult.ProductionYear > 0)
            {
                drpProductionYear.SelectedValue = gradingResult.ProductionYear.ToString();
            }

            //FillCommodityClass(drpCommodityClass, CommodityID, WeradaID, null);
            FillCommodityClass(drpCommodityClass, CommodityID, null, null);
            //assuming if woreda is not known the woredaID field in arrival will be null or empty guid
            if (WeradaID != null && Guid.Empty != WeradaID && CommodityTypeID != illegalCommodityTypeID)
            {
                FillCommodityFactorGroup(drpCommodityFactorGroup, null, CommodityID.Value, WeradaID);
                drpCommodityFactorGroup.SelectedValue = gradingResult.GradingFactorGroupID.ToString();
                //drpCommodityFactorGroup_SelectedIndexChanged("ForUpdate", null);
                onCommodityFactorGroupChange(true, gradingResult.CommodityClassID.ToString());
                drpCommodityClass.SelectedValue = gradingResult.CommodityClassID.ToString();
            }
            else
            {
                lblComodityClass.Visible        = drpCommodityClass.Visible = true;
                lblComodityClass.Enabled        = drpCommodityClass.Enabled = true;
                drpCommodityClass.SelectedValue = gradingResult.CommodityClassID.ToString();
                drpCommodityClass_SelectedIndexChanged("ForUpdate", null);
                drpCommodityFactorGroup.SelectedValue = gradingResult.GradingFactorGroupID.ToString();
                drpCommodityFactorGroup_SelectedIndexChanged(null, null);
            }
            if (gradingResult.GradeRecived != null)
            {
                drpGrade.SelectedValue = gradingResult.GradeRecived.ToString();
            }

            if (gradingResult.GRNCreated || gradingResult.NewSampleCodeGenerated ||
                (gradingResult.GradingResultStatusID == (int)GradingResultStatus.SegrigationRequested && gradingResult.GradingsStatusID > 0))
            {
                drpCommodityClass.Enabled = drpCommodityFactorGroup.Enabled = drpGrade.Enabled = false;
                chkChangeClass.Enabled    = false;
                rfvdrpGrade.Enabled       = false;
                gvGradingFactors1.Enabled = false;
                txtDateRecived.Enabled    = txtTimeRecived.Enabled = false;
                drpProductionYear.Enabled = false;
                btnSave.Enabled           = false;
                btnCancel.Enabled         = false;
                string toolTip = "GRN processed grade result can't be edited!";
                btnSave.ToolTip = drpCommodityClass.ToolTip = drpCommodityFactorGroup.ToolTip = drpGrade.ToolTip =
                    gvGradingFactors1.ToolTip = toolTip;
            }
        }
Ejemplo n.º 4
0
        private void onCommodityFactorGroupChange(bool?ForUpdate, string GclassValue)
        {
            Messages1.ClearMessage();
            gvGradingFactors1.DataSource = new DataTable();
            gvGradingFactors1.DataBind();
            drpGrade.Items.Clear();
            drpGrade.DataSource = new DataTable();
            drpGrade.DataBind();
            if (drpCommodityFactorGroup.SelectedIndex > 0)
            {
                bool woradaknown = !(WeradaID == null || Guid.Empty == WeradaID || CommodityTypeID == illegalCommodityTypeID);

                int gradingResultStatus = ((Dictionary <string, int>)ViewState["FGs"])[drpCommodityFactorGroup.SelectedValue];

                if ((int)GradingResultStatus.AcceptableResult != gradingResultStatus)
                {
                    drpGrade.Enabled                = false;
                    rfvdrpGrade.Enabled             = false;
                    drpProductionYear.Enabled       = false;
                    rfvdrpProductionYear.Enabled    = false;
                    drpCommodityClass.SelectedIndex = -1;
                    rfvdrpCommodityClass.Enabled    = false;
                    //drpCommodityClass.Enabled = false;
                }
                else
                {
                    drpGrade.Enabled             = true;
                    rfvdrpGrade.Enabled          = true;
                    rfvdrpProductionYear.Enabled = true;
                    drpProductionYear.Enabled    = true;
                    if (CommodityID == new Guid("37d28859-5579-436b-98c8-2bf28bd413be"))
                    {
                        woradaknown = false;
                    }
                    if (woradaknown)
                    {
                        //FillCommodityClass(drpCommodityClass, null,
                        //     WeradaID,
                        //     new Guid(drpCommodityFactorGroup.SelectedValue));
                        //if (((DataTable)drpCommodityClass.DataSource).Rows.Count > 0)
                        //    drpCommodityClass.SelectedIndex = 1;
                        if (!chkChangeClass.Checked)
                        {
                            //if (IsNonCoffee != null && IsNonCoffee.Value)
                            DataTable dt = GradingModel.GetCommodityClass(null, WeradaID, new Guid(drpCommodityFactorGroup.SelectedValue));
                            if (GclassValue == null || dt.Select("ClassID ='" + GclassValue + "'").Count() > 0)
                            {
                                FillCommodityClass(drpCommodityClass, null, WeradaID, new Guid(drpCommodityFactorGroup.SelectedValue));
                            }
                            if (dt.Rows.Count > 0)
                            {
                                //if (drpCommodityClass.Items.Count == 2)// || (IsNonCoffee == null || !IsNonCoffee.Value))//
                                if (dt.Rows.Count == 1)// || (IsNonCoffee == null || !IsNonCoffee.Value))
                                {
                                    if (GclassValue == null)
                                    {
                                        //DataTable dt = GradingModel.GetCommodityClass(null, WeradaID, new Guid(drpCommodityFactorGroup.SelectedValue));
                                        drpCommodityClass.SelectedValue = dt.Rows[0]["ClassID"].ToString();
                                    }
                                    else
                                    {
                                        drpCommodityClass.SelectedValue = GclassValue;
                                    }
                                    drpCommodityClass.Enabled    = false;
                                    rfvdrpCommodityClass.Enabled = false;
                                }
                                else
                                {
                                    if (ForUpdate == null || !ForUpdate.Value)
                                    {
                                        drpCommodityClass.SelectedIndex = 0;
                                    }
                                    else if (GclassValue != null)
                                    {
                                        drpCommodityClass.SelectedValue = GclassValue;
                                    }
                                    drpCommodityClass.Enabled    = true;
                                    rfvdrpCommodityClass.Enabled = true;
                                }
                            }
                            else
                            {
                                Messages1.SetMessage("Class with the factor group and woreda was not found");
                            }
                        }
                    }
                    if (drpCommodityClass.SelectedIndex > 0)
                    {
                        FillCommodityGrade(drpGrade, new Guid(drpCommodityFactorGroup.SelectedValue),
                                           new Guid(drpCommodityClass.SelectedValue));
                    }
                }
                FillCommodityFactor(new Guid(drpCommodityFactorGroup.SelectedValue));
            }
        }