public ActionResult dosearch(FormCollection form)
        {
            var sessionObj = Session["SessionBO"] as UserModel;

            if (sessionObj != null)
            {
                string selected_start = form["selected_start"];
                string selected_end   = form["selected_end"];

                string[] data      = selected_end.Split('-');
                string   new_start = data[1] + '-' + data[0] + '-' + data[2];

                string[] data1      = selected_start.Split('-');
                string   new_start1 = data1[1] + '-' + data1[0] + '-' + data1[2];


                DateTime selected_start1 = Convert.ToDateTime(new_start1, System.Globalization.CultureInfo.CurrentCulture);

                DateTime selected_end1 = Convert.ToDateTime(new_start, System.Globalization.CultureInfo.CurrentCulture);

                BOMDetails objBOMDetails = new BOMDetails();
                objBOMDetails.dosearch(selected_start1, selected_end1, sessionObj.id);
                GenericTextValue objGenericTextValue = new GenericTextValue();
                ViewBag.lstRefinery  = objGenericTextValue.GetSubRefineryList(sessionObj.id);
                ViewBag.IsAuthorized = sessionObj.isAuthorized;
                ViewBag.LoggedInUser = sessionObj.firstName;
                return(View("../Admin/MaterialList", objBOMDetails));
            }
            else
            {
                return(RedirectToAction("LoginUser", "Login"));
            }
        }
        internal dynamic GetRefineryList()
        {
            SqlCommand    cmd;
            SqlConnection connection    = null;
            BOMDetails    objBOMDetails = new BOMDetails();

            connection = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString);

            connection.Open();
            List <GenericTextValue> lstGenericTextValue = new List <GenericTextValue>();
            SqlDataReader           objSqlDataReader    = null;

            cmd             = new SqlCommand("GetRefineryList", connection);
            cmd.CommandType = CommandType.StoredProcedure;
            //  cmd.Parameters.Add(objSqlParameter[0]);
            objSqlDataReader = cmd.ExecuteReader();
            while (objSqlDataReader.Read())
            {
                GenericTextValue objGenericTextValue = new GenericTextValue();
                objGenericTextValue.RID   = Convert.ToString(objSqlDataReader["RefineryID"]);
                objGenericTextValue.RName = Convert.ToString(objSqlDataReader["RefineryName"]);
                lstGenericTextValue.Add(objGenericTextValue);
                objGenericTextValue = null;
            }
            objSqlDataReader.Close();
            connection.Close();
            return(lstGenericTextValue);
        }
        public JsonResult ValidateActualDatePO(string ActualStartDate, string ActualstartTime, string SubRefinery)
        {
            var sessionObj = Session["SessionBO"] as UserModel;

            if (sessionObj != null)
            {
                BOMDetails objBOMDetails = new BOMDetails();

                try
                {
                    string result = objBOMDetails.ValidateActualDatePO(ActualStartDate, ActualstartTime, SubRefinery);


                    return(Json(new { value = result }, JsonRequestBehavior.AllowGet));
                }
                catch (Exception e)
                {
                    return(Json(new { value = "Exception Occured" }, JsonRequestBehavior.AllowGet));
                }
            }
            else
            {
                return(Json(new { status = false }, JsonRequestBehavior.AllowGet));
            }
        }
        public JsonResult SubmtPODetails(string ActualStartDate, string ActualStartTime, string ActualEndDate, string ActualEndTime, string roles, string data, string ManualEntryResult, string PONO, int IDOCNumber, string PostingDate, string ProductionDate)
        {
            var sessionObj = Session["SessionBO"] as UserModel;

            if (sessionObj != null)
            {
                BOMDetails     objBOMDetails     = new BOMDetails();
                Characteristic objCharacteristic = new Characteristic();

                bool charResult   = objCharacteristic.SaveCharacteristics(data, PONO, sessionObj.id, IDOCNumber);
                bool manualResult = objBOMDetails.SaveChemicalManualEntry(ManualEntryResult, PONO, sessionObj.id, IDOCNumber);
                bool result       = objBOMDetails.SubmitPODetails(ActualStartDate, ActualStartTime, ActualEndDate, ActualEndTime, roles, PONO, sessionObj.id, IDOCNumber, PostingDate, ProductionDate);

                if (manualResult && result)
                {
                    return(Json(new { value = "Successfully Submitted!" }, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    return(Json(new { status = false }, JsonRequestBehavior.AllowGet));
                }
            }
            else
            {
                return(Json(new { status = false }, JsonRequestBehavior.AllowGet));
            }
        }
示例#5
0
        /// <summary>
        /// DropDownForClient
        /// Calls [usp_GetUpdatedByListFromBOMIdList]
        /// </summary>
        public static BOM GetUpdatedByListFromBOMIdList(System.String BOMIdList)
        {
            BOMDetails lstDetails = Rebound.GlobalTrader.DAL.SiteProvider.BOM.GetUpdatedByListFromBOMIdList(BOMIdList);

            // BOM lst = new BOM();
            Rebound.GlobalTrader.BLL.BOM obj = new Rebound.GlobalTrader.BLL.BOM();
            obj.BOMName       = lstDetails.BOMName;
            obj.UpdatedByList = lstDetails.UpdatedByList;
            lstDetails        = null;
            return(obj);
        }
示例#6
0
        //[002] code start here
        /// <summary>
        /// GetListReadyForClient
        /// Calls [usp_selectAll_BOM]
        /// </summary>
        public override List <BOMDetails> GetBomList(System.Int32?clientId, System.Boolean?isPoHUB, System.Int32?topToSelect, System.Int32?bomStatus, System.Int32?updatedBy)
        {
            SqlConnection cn  = null;
            SqlCommand    cmd = null;

            try
            {
                cn                 = new SqlConnection(this.ConnectionString);
                cmd                = new SqlCommand("usp_selectAll_BOM", cn);
                cmd.CommandType    = CommandType.StoredProcedure;
                cmd.CommandTimeout = 50;
                cmd.Parameters.Add("@ClientId", SqlDbType.Int).Value    = clientId;
                cmd.Parameters.Add("@TopToSelect", SqlDbType.Int).Value = topToSelect;
                cmd.Parameters.Add("@IsPoHUB", SqlDbType.Bit).Value     = isPoHUB;
                cmd.Parameters.Add("@BomStatus", SqlDbType.Int).Value   = bomStatus;
                cmd.Parameters.Add("@UpdatedBy", SqlDbType.Int).Value   = updatedBy;
                cn.Open();
                DbDataReader      reader = ExecuteReader(cmd);
                List <BOMDetails> lst    = new List <BOMDetails>();
                while (reader.Read())
                {
                    BOMDetails obj = new BOMDetails();
                    obj.BOMId            = GetReaderValue_Int32(reader, "BOMId", 0);
                    obj.BOMCode          = GetReaderValue_String(reader, "BOMCode", "");
                    obj.BOMName          = GetReaderValue_String(reader, "BOMName", "");
                    obj.ClientName       = GetReaderValue_String(reader, "ClientName", "");
                    obj.CompanyName      = GetReaderValue_String(reader, "CompanyName", "");
                    obj.DLUP             = GetReaderValue_DateTime(reader, "DLUP", DateTime.MinValue);
                    obj.StatusValue      = GetReaderValue_Int32(reader, "StatusValue", 0);
                    obj.RequestToPOHubBy = GetReaderValue_Int32(reader, "RequestToPOHubBy", 0);
                    obj.UpdatedBy        = GetReaderValue_Int32(reader, "UpdatedBy", 0);
                    obj.QuoteRequired    = GetReaderValue_NullableDateTime(reader, "QuoteRequired", null);
                    lst.Add(obj);
                    obj = null;
                }
                return(lst);
            }
            catch (SqlException sqlex)
            {
                //LogException(sqlex);
                throw new Exception("Failed to get BOM", sqlex);
            }
            finally
            {
                cmd.Dispose();
                cn.Close();
                cn.Dispose();
            }
        }
        public JsonResult ValidateActualDatePO(string ActualStartDate, string ActualstartTime, string SubRefinery)
        {
            BOMDetails objBOMDetails = new BOMDetails();

            try
            {
                string result = objBOMDetails.ValidateActualDatePO(ActualStartDate, ActualstartTime, SubRefinery);


                return(Json(new { value = result }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception e)
            {
                return(Json(new { value = "Exception Occured" }, JsonRequestBehavior.AllowGet));
            }
        }
示例#8
0
        private static BOM PopulateFromDBDetailsObject(BOMDetails obj)
        {
            BOM objNew = new BOM();

            objNew.BOMId     = obj.BOMId;
            objNew.ClientNo  = obj.ClientNo;
            objNew.BOMName   = obj.BOMName;
            objNew.Notes     = obj.Notes;
            objNew.BOMCode   = obj.BOMCode;
            objNew.Inactive  = obj.Inactive;
            objNew.UpdatedBy = obj.UpdatedBy;
            objNew.DLUP      = obj.DLUP;
            objNew.RowNum    = obj.RowNum;
            objNew.RowCnt    = obj.RowCnt;
            return(objNew);
        }
        public ActionResult GetPOList()
        {
            var sessionObj = Session["SessionBO"] as UserModel;

            if (sessionObj != null)
            {
                BOMDetails objBOMDetails = new BOMDetails();
                objBOMDetails.GetBOMDetailList(sessionObj.id);
                GenericTextValue objGenericTextValue = new GenericTextValue();
                ViewBag.lstRefinery  = objGenericTextValue.GetSubRefineryList(sessionObj.id);
                ViewBag.IsAuthorized = sessionObj.isAuthorized;
                ViewBag.LoggedInUser = sessionObj.firstName;
                return(View("../User/MaterialList", objBOMDetails));
            }
            else
            {
                return(RedirectToAction("LoginUser", "Login"));
            }
        }
        // Submitted PO List -> on Preview
        public ActionResult LoadProcessOrder(string Name)
        {
            var sessionObj = Session["SessionBO"] as UserModel;

            if (sessionObj != null)
            {
                BOMDetails objBOMDetails = new BOMDetails();
                string[]   split         = Name.Split(',');
                string     PONumber      = split[0];
                int        IDOCNumber    = Convert.ToInt32(split[1]);
                objBOMDetails        = objBOMDetails.getProcessOrder(PONumber, IDOCNumber);
                ViewBag.IsAuthorized = sessionObj.isAuthorized;
                ViewBag.LoggedInUser = sessionObj.firstName;// +" " + sessionObj.LastName;
                return(View("../Admin/ProcessOrder", objBOMDetails));
            }
            else
            {
                return(RedirectToAction("LoginUser", "Login"));
            }
        }
        // Get Submitted PO List
        public ActionResult GetSubmitedPOList()
        {
            var sessionObj = Session["SessionBO"] as UserModel;



            if (sessionObj != null)
            {
                BOMDetails objBOMDetails = new BOMDetails();
                // SP -> GetSubmitedPOList
                objBOMDetails.GetSubmitedPOList(sessionObj.id);
                ViewBag.IsAuthorized = sessionObj.isAuthorized;
                ViewBag.LoggedInUser = sessionObj.firstName;
                // Control go to SubmitedPOList.cshtml page
                return(View("../Admin/SubmitedPOList", objBOMDetails));
            }
            else
            {
                return(RedirectToAction("LoginUser", "Login"));
            }
        }
        internal dynamic GetSubRefineryList(int userId)
        {
            SqlCommand    cmd;
            SqlConnection connection    = null;
            BOMDetails    objBOMDetails = new BOMDetails();

            List <GenericTextValue> lstGenericTextValue = new List <GenericTextValue>();
            SqlDataReader           objSqlDataReader    = null;

            try {
                connection = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString);
                connection.Open();
                SqlParameter[] objSqlParameter = new SqlParameter[1];
                objSqlParameter[0] = new SqlParameter();
                objSqlParameter[0].ParameterName = "@UserId";
                objSqlParameter[0].SqlDbType     = SqlDbType.Int;
                objSqlParameter[0].Value         = userId;



                cmd             = new SqlCommand("GetSubRefineryList", connection);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add(objSqlParameter[0]);
                objSqlDataReader = cmd.ExecuteReader();
                while (objSqlDataReader.Read())
                {
                    GenericTextValue objGenericTextValue = new GenericTextValue();
                    objGenericTextValue.RID   = Convert.ToString(objSqlDataReader["SubRefinery"]);
                    objGenericTextValue.RName = Convert.ToString(objSqlDataReader["SubRefinery"]);
                    lstGenericTextValue.Add(objGenericTextValue);
                    objGenericTextValue = null;
                }
                objSqlDataReader.Close();
                connection.Close();
            }
            catch (Exception ex)
            {
            }
            return(lstGenericTextValue);
        }
示例#13
0
        /// <summary>
        /// GetIDByNumber
        /// Calls [usp_select_BOM_ID_by_Name]
        /// </summary>GetIDByNumber
        public override BOMDetails GetIDByNumber(System.String bomName, System.Int32?clientNo)
        {
            SqlConnection cn  = null;
            SqlCommand    cmd = null;

            try
            {
                cn                 = new SqlConnection(this.ConnectionString);
                cmd                = new SqlCommand("usp_select_BOM_ID_by_Name", cn);
                cmd.CommandType    = CommandType.StoredProcedure;
                cmd.CommandTimeout = 30;
                cmd.Parameters.Add("@BomName", SqlDbType.NVarChar).Value = bomName;
                cmd.Parameters.Add("@ClientNo", SqlDbType.Int).Value     = clientNo;
                cn.Open();
                DbDataReader reader = ExecuteReader(cmd, CommandBehavior.SingleRow);
                if (reader.Read())
                {
                    BOMDetails obj = new BOMDetails();
                    obj.BOMId = GetReaderValue_Int32(reader, "BOMId", 0);
                    return(obj);
                }
                else
                {
                    return(null);
                }
            }
            catch (SqlException sqlex)
            {
                //LogException(sqlex);
                throw new Exception("Failed to get HUBRFQ", sqlex);
            }
            finally
            {
                cmd.Dispose();
                cn.Close();
                cn.Dispose();
            }
        }
示例#14
0
        /// <summary>
        /// GetForPage
        /// Calls [usp_select_BOM_for_Page]
        /// </summary>
        public override BOMDetails GetForPage(System.Int32?bomId)
        {
            SqlConnection cn  = null;
            SqlCommand    cmd = null;

            try {
                cn                 = new SqlConnection(this.ConnectionString);
                cmd                = new SqlCommand("usp_select_BOM_for_Page", cn);
                cmd.CommandType    = CommandType.StoredProcedure;
                cmd.CommandTimeout = 30;
                cmd.Parameters.Add("@BOMId", SqlDbType.Int).Value = bomId;
                cn.Open();
                DbDataReader reader = ExecuteReader(cmd, CommandBehavior.SingleRow);
                if (reader.Read())
                {
                    //return GetBOMFromReader(reader);
                    BOMDetails obj = new BOMDetails();
                    obj.BOMId            = GetReaderValue_Int32(reader, "BOMId", 0);
                    obj.ClientNo         = GetReaderValue_Int32(reader, "ClientNo", 0);
                    obj.BOMName          = GetReaderValue_String(reader, "BOMName", "");
                    obj.Inactive         = GetReaderValue_Boolean(reader, "Inactive", false);
                    obj.BOMStatus        = GetReaderValue_String(reader, "Status", "");
                    obj.RequestToPOHubBy = GetReaderValue_Int32(reader, "RequestToPOHubBy", 0);
                    return(obj);
                }
                else
                {
                    return(null);
                }
            } catch (SqlException sqlex) {
                //LogException(sqlex);
                throw new Exception("Failed to get BOM", sqlex);
            } finally {
                cmd.Dispose();
                cn.Close();
                cn.Dispose();
            }
        }
示例#15
0
        /// <summary>
        /// DropDownForClient
        /// Calls [usp_dropdown_BOM_for_Client]
        /// </summary>
        public override List <BOMDetails> DropDownForClient(System.Int32?clientId, System.Int32?companyId)
        {
            SqlConnection cn  = null;
            SqlCommand    cmd = null;

            try
            {
                cn                 = new SqlConnection(this.ConnectionString);
                cmd                = new SqlCommand("usp_dropdown_BOM_for_Client", cn);
                cmd.CommandType    = CommandType.StoredProcedure;
                cmd.CommandTimeout = 30;
                cmd.Parameters.Add("@ClientId", SqlDbType.Int).Value  = clientId;
                cmd.Parameters.Add("@CompanyNo", SqlDbType.Int).Value = companyId;
                cn.Open();
                DbDataReader      reader = ExecuteReader(cmd);
                List <BOMDetails> lst    = new List <BOMDetails>();
                while (reader.Read())
                {
                    BOMDetails obj = new BOMDetails();
                    obj.BOMId   = GetReaderValue_Int32(reader, "BOMId", 0);
                    obj.BOMName = GetReaderValue_String(reader, "BOMName", "");
                    lst.Add(obj);
                    obj = null;
                }
                return(lst);
            }
            catch (SqlException sqlex)
            {
                //LogException(sqlex);
                throw new Exception("Failed to get BOMs", sqlex);
            }
            finally
            {
                cmd.Dispose();
                cn.Close();
                cn.Dispose();
            }
        }
示例#16
0
        /// <summary>
        /// DropDownForClient
        /// Calls [usp_GetUpdatedByListFromBOMIdList]
        /// </summary>
        public override BOMDetails GetUpdatedByListFromBOMIdList(System.String BOMIdList)
        {
            SqlConnection cn  = null;
            SqlCommand    cmd = null;

            try
            {
                cn                 = new SqlConnection(this.ConnectionString);
                cmd                = new SqlCommand("usp_GetUpdatedByListFromBOMIdList", cn);
                cmd.CommandType    = CommandType.StoredProcedure;
                cmd.CommandTimeout = 30;
                cmd.Parameters.Add("@BOMIdList", SqlDbType.VarChar).Value = BOMIdList;
                cn.Open();
                DbDataReader reader = ExecuteReader(cmd, CommandBehavior.SingleRow);
                if (reader.Read())
                {
                    BOMDetails obj = new BOMDetails();
                    obj.UpdatedByList = GetReaderValue_String(reader, "UserIds", "");
                    obj.BOMName       = GetReaderValue_String(reader, "BOMName", "");
                    return(obj);
                }
                else
                {
                    return(null);
                }
            }
            catch (SqlException sqlex)
            {
                //LogException(sqlex);
                throw new Exception("Failed to get BOMs emails", sqlex);
            }
            finally
            {
                cmd.Dispose();
                cn.Close();
                cn.Dispose();
            }
        }
        public JsonResult CalculateBill(string ActualStartDateTime, string ActualEndDateTime, string SubRefinery, string isSave_status, string PONO, int IDOCNumber)
        {
            var sessionObj = Session["SessionBO"] as UserModel;

            if (sessionObj != null)
            {
                BOMMasterTag objBOMMasterTag = new BOMMasterTag();
                AFLocaleIndependentFormatProvider myTimeZone = new AFLocaleIndependentFormatProvider();

                DateTime ActualStartDate = Convert.ToDateTime(ActualStartDateTime);
                DateTime ActualEndDate   = Convert.ToDateTime(ActualEndDateTime);

                AFValue    strtVal;
                AFValue    endVal;
                PIPoint    strtTag;
                string     exceptionMsg = "";
                BOMDetails bomDetails   = new BOMDetails();
                //List<MasterRefineryModel> lstMasterRefinery = bomDetails.getPlantWiseSubRefineries(SubRefinery);

                //foreach (MasterRefineryModel RefineryDetails in lstMasterRefinery)
                //{
                //    Boolean flag = bomDetails.InsertForUpTime(ActualStartDate, ActualEndDate, RefineryDetails.SubRefineryCode, RefineryDetails.SubRefineryName);
                //}
                try
                {
                    List <BOMMasterTag> lstBOMMasterTag = new List <BOMMasterTag>();
                    if (isSave_status == "1")
                    {
                        lstBOMMasterTag = objBOMMasterTag.getIsSavedList(PONO, IDOCNumber);
                        List <string> lslComponent = GetIsManualWithTag(ActualStartDateTime, ActualEndDateTime, SubRefinery, isSave_status, PONO, IDOCNumber);
                        foreach (BOMMasterTag objBOMMasterTag1 in lstBOMMasterTag)
                        {
                            foreach (String component in lslComponent)
                            {
                                if (objBOMMasterTag1.component == component)
                                {
                                    objBOMMasterTag1.isManual        = true;
                                    objBOMMasterTag1.isManualWithTag = true;
                                }
                            }
                        }
                    }
                    else
                    {
                        PIServerDetails   piServerDetails = new PIServerDetails();
                        PISystems         myPISystems     = new PISystems();
                        PISystem          mypiSystem      = myPISystems[piServerDetails.PIServerName];
                        PIServer          myPiServer      = PIServer.FindPIServer(mypiSystem, piServerDetails.PIServerName);
                        NetworkCredential Credentials     = new NetworkCredential(piServerDetails.UserName, piServerDetails.Password);

                        ActualStartDate = ActualStartDate.AddMinutes(-330);
                        AFTime sAFTime = new AFTime(ActualStartDate);
                        ActualEndDate = ActualEndDate.AddMinutes(-330);
                        AFTime eAFTime = new AFTime(ActualEndDate);
                        mypiSystem.Connect(Credentials);

                        //Tag Mapping with BOMMaster.
                        List <BOMMasterTag> lstBOMMasterTag1 = objBOMMasterTag.getMasterBOM(SubRefinery, PONO, IDOCNumber);

                        IDictionary <AFSummaryTypes, AFValue> sm   = null;
                        IDictionary <AFSummaryTypes, AFValue> smin = null;

                        List <string> lstComponent = new List <string>();
                        foreach (BOMMasterTag objBOMMasterTag1 in lstBOMMasterTag1)
                        {
                            lstComponent.Add(objBOMMasterTag1.component);
                        }

                        //string duplicate = "";
                        //List<string> NonDuplicateList = new List<string>();
                        //foreach (string s in lstComponent)
                        //{
                        //    if (!NonDuplicateList.Contains(s))
                        //        NonDuplicateList.Add(s);
                        //    else
                        //        duplicate = s;

                        //}

                        foreach (BOMMasterTag objBOMMasterTag1 in lstBOMMasterTag1)
                        {
                            if (objBOMMasterTag1.isManual || objBOMMasterTag1.PITag == "")
                            {
                                //objBOMMasterTag1.quantity = 00;
                                objBOMMasterTag1.isManual = true;
                            }
                            else
                            {
                                double resultValue = 0;
                                strtTag = PIPoint.FindPIPoint(myPiServer, objBOMMasterTag1.PITag);
                                strtVal = strtTag.RecordedValue(sAFTime, AFRetrievalMode.AtOrAfter);
                                endVal  = strtTag.RecordedValue(eAFTime, AFRetrievalMode.AtOrAfter);

                                double strtVal1 = Convert.ToDouble(strtVal.Value);

                                AFTimeRange graphTimeReange = new AFTimeRange(sAFTime, eAFTime);

                                sm   = strtTag.Summary(graphTimeReange, AFSummaryTypes.Maximum, 0, 0);
                                smin = strtTag.Summary(graphTimeReange, AFSummaryTypes.Minimum, 0, 0);
                                AFValue mx           = sm[AFSummaryTypes.Maximum];
                                AFValue mn           = smin[AFSummaryTypes.Minimum];
                                Boolean isWrongValue = false;

                                if (endVal.Value.ToString().Equals("No Data") || mx.IsGood == false || strtVal.Value.ToString().Equals("No Data") || mx.IsGood == false)
                                {
                                    resultValue  = 0.0;
                                    isWrongValue = true;
                                }
                                else
                                {
                                    if (Convert.ToDouble(endVal.Value) < Convert.ToDouble(mx.Value))
                                    {
                                        resultValue = Convert.ToDouble(mx.Value) - Convert.ToDouble(strtVal.Value) + Convert.ToDouble(endVal.Value) - Convert.ToDouble(mn.Value);
                                    }
                                    else if (Convert.ToDouble(endVal.Value) == Convert.ToDouble(strtVal.Value))
                                    {
                                        resultValue  = 0; Math.Round(Convert.ToDouble(strtVal.Value), 2);
                                        isWrongValue = true;
                                    }
                                    else
                                    {
                                        resultValue = Convert.ToDouble(endVal.Value) - Convert.ToDouble(strtVal.Value);
                                    }
                                }
                                if (resultValue <= 0 || isWrongValue)
                                {
                                    objBOMMasterTag1.isManual        = true;
                                    objBOMMasterTag1.isManualWithTag = true;
                                }
                                objBOMMasterTag1.quantity = (float)resultValue;
                            }

                            lstBOMMasterTag.Add(objBOMMasterTag1);

                            //if (duplicate != "")
                            //{
                            //    if (objBOMMasterTag1.BOMCategory == "Raw-Material")
                            //    {
                            //        if (duplicate == objBOMMasterTag1.component)
                            //        {
                            //            lstBOMMasterTag.Remove(objBOMMasterTag1);
                            //        }
                            //    }
                            //}
                        }
                    }

                    JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();
                    string     json = javaScriptSerializer.Serialize(lstBOMMasterTag);
                    JsonResult js   = Json(new { value = json }, JsonRequestBehavior.AllowGet);
                    return(js);
                }
                catch (Exception e)
                {
                    return(Json(new { value = exceptionMsg }, JsonRequestBehavior.AllowGet));
                }
            }
            else
            {
                return(Json(new { status = false }, JsonRequestBehavior.AllowGet));
            }
        }
        public JsonResult LoadGraph(string PlantStartDateTime, string PlantEndDateTime, string SubRefinery)
        {
            var sessionObj = Session["SessionBO"] as UserModel;

            if (sessionObj != null)
            {
                string PlantStartDateTime1 = PlantStartDateTime;
                string PlantEndDateTime1   = PlantEndDateTime;

                BOMDetails objBOMDetails = new BOMDetails();

                AFLocaleIndependentFormatProvider myTimeZone = new AFLocaleIndependentFormatProvider();
                //  DateTime StartDate = Convert.ToDateTime(PlantStartDateTime1);
                //  DateTime EndDate = Convert.ToDateTime(PlantEndDateTime1);


                DateTime StartDate = Convert.ToDateTime(PlantStartDateTime1, System.Globalization.CultureInfo.CurrentCulture);
                DateTime EndDate   = Convert.ToDateTime(PlantEndDateTime1, System.Globalization.CultureInfo.CurrentCulture);
                PIPoint  feedInTag;
                PIPoint  feedOutTag;
                AFValues feedInVal;
                AFValues feedOutVal;
                AFValues filteredfeedInVal = new AFValues();
                AFValues filteredoutInVal  = new AFValues();

                try
                {
                    PIServerDetails   piServerDetails = new PIServerDetails();
                    PISystems         myPISystems     = new PISystems();
                    PISystem          mypiSystem      = myPISystems[piServerDetails.PIServerName];
                    PIServer          myPiServer      = PIServer.FindPIServer(mypiSystem, piServerDetails.PIServerName);
                    NetworkCredential Credentials     = new NetworkCredential(piServerDetails.UserName, piServerDetails.Password);
                    mypiSystem.Connect(Credentials);


                    StartDate = StartDate.AddMinutes(-330);
                    AFTime sAFTime = new AFTime(StartDate);
                    //DateTime endDT = Convert.ToDateTime(szDTend);
                    EndDate = EndDate.AddMinutes(-330);
                    AFTime      eAFTime        = new AFTime(EndDate);
                    AFTimeRange GraphTimeRange = new AFTimeRange(sAFTime, eAFTime);
                    //   mypiSystem.Connect(Credentials);

                    objBOMDetails = objBOMDetails.getFeedInFeedOutTag(SubRefinery);



                    feedInTag = PIPoint.FindPIPoint(myPiServer, objBOMDetails.feedInTag);
                    feedInVal = feedInTag.RecordedValues(GraphTimeRange, 0, null, true, 0);

                    foreach (AFValue val in feedInVal)
                    {
                        if (val.IsGood)
                        {
                            filteredfeedInVal.Add(val);
                        }
                        else
                        {
                            val.Value = 0;
                            filteredfeedInVal.Add(val);
                        }
                    }

                    feedOutTag = PIPoint.FindPIPoint(myPiServer, objBOMDetails.feedOutTag);
                    feedOutVal = feedOutTag.RecordedValues(GraphTimeRange, 0, null, true, 0);

                    foreach (AFValue val in feedOutVal)
                    {
                        if (val.IsGood)
                        {
                            filteredoutInVal.Add(val);
                        }
                        else
                        {
                            val.Value = 0;
                            filteredoutInVal.Add(val);
                        }
                    }

                    int             inLenArray      = filteredfeedInVal.Count;
                    object[]        feedInValArr    = new object[inLenArray];
                    DateTime[]      feedInDateArr   = new DateTime[inLenArray];
                    AFValueStatus[] feedInValStatus = new AFValueStatus[inLenArray];
                    filteredfeedInVal.GetValueArrays(out feedInValArr, out feedInDateArr, out feedInValStatus);
                    int      outLenArray   = feedOutVal.Count;
                    object[] feedOutValArr = new object[outLenArray];

                    DateTime[]      feedOutDateArr   = new DateTime[outLenArray];
                    AFValueStatus[] feedOutValStatus = new AFValueStatus[outLenArray];
                    filteredoutInVal.GetValueArrays(out feedOutValArr, out feedOutDateArr, out feedOutValStatus);
                    List <KeyValuePair <string, double> > fInlist  = new List <KeyValuePair <string, double> >();
                    List <KeyValuePair <string, double> > fOutlist = new List <KeyValuePair <string, double> >();
                    //  double[] fInDateValdouble = new double[inLenArray];
                    double[] fOutDateVal = new double[outLenArray];
                    double[] fInDateVal  = new double[inLenArray];
                    for (int i = 0; i < feedInValArr.Length; i++)
                    {
                        //string fIn = feedInValArr[i].ToString();
                        double fint = Convert.ToInt32(feedInValArr[i]);
                        if (fint == 0.0)
                        {
                            fInDateVal[i] = -99999;
                        }
                        else if (fint < 0.0)
                        {
                            fInDateVal[i] = -99999;
                        }
                        else
                        {
                            fInDateVal[i] = Math.Round(Convert.ToDouble(feedInValArr[i]), 2);
                        }
                    }
                    string[] fInDateArr = new string[inLenArray];
                    for (int i = 0; i < feedInDateArr.Length; i++)
                    {
                        fInDateArr[i] = feedInDateArr[i].ToString("MM-dd-yyyy HH:mm:ss");
                        var element = new KeyValuePair <string, double>(fInDateArr[i], fInDateVal[i]);
                        fInlist.Add(element);
                    }

                    string[] fOutDateArr = new string[outLenArray];

                    for (int i = 0; i < feedOutDateArr.Length; i++)   //feedOutDateArr
                    {
                        //string fOut = feedOutValArr[i].ToString();    //fOutDateArr
                        double fout = Convert.ToInt32(feedOutValArr[i]);
                        if (fout == 0.0)
                        {
                            fOutDateVal[i] = -99999;
                        }
                        else if (fout < 0.0)
                        {
                            fOutDateVal[i] = -99999;
                        }
                        else
                        {
                            fOutDateVal[i] = Math.Round(Convert.ToDouble(feedOutValArr[i]), 2);
                        }
                    }
                    // string[] fOutDateArr = new string[inLenArray];
                    for (int i = 0; i < feedOutDateArr.Length; i++)
                    {
                        fOutDateArr[i] = feedOutDateArr[i].ToString("MM-dd-yyyy HH:mm:ss");
                        var element1 = new KeyValuePair <string, double>(fOutDateArr[i], fOutDateVal[i]);
                        fOutlist.Add(element1);
                    }


                    Dictionary <string, List <KeyValuePair <string, double> > > dec = new Dictionary <string, List <KeyValuePair <string, double> > >();

                    dec.Add("feedIn", fInlist);
                    dec.Add("feedOut", fOutlist);



                    JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();
                    // string json = javaScriptSerializer.Serialize(feedInDateArr);

                    JsonResult js = Json(new { value = dec }, JsonRequestBehavior.AllowGet);

                    return(js);

                    // return Json(new { value = dec }, JsonRequestBehavior.AllowGet);
                }
                catch (Exception e)
                {
                    return(Json(new { value = "Exception Occured" }, JsonRequestBehavior.AllowGet));
                }
            }
            else
            {
                return(Json(new { status = false }, JsonRequestBehavior.AllowGet));
            }
        }
示例#19
0
        /// <summary>
        /// DataListNugget
        /// Calls [usp_datalistnugget_BOM]
        /// </summary>
        public override List <BOMDetails> DataListNugget(System.Int32?clientId, System.Int32?teamId, System.Int32?divisionId, System.Int32?loginId, System.Int32?orderBy, System.Int32?sortDir, System.Int32?pageIndex, System.Int32?pageSize, System.String bomCode, System.String bomName, System.Boolean?isPOHub, System.Int32?selectedClientNo, int?bomStatus, int?IsAssignToMe, int?assignedUser, System.Int32?intDivision, System.Int32?salesPerson)
        {
            SqlConnection cn  = null;
            SqlCommand    cmd = null;

            try
            {
                cn = new SqlConnection(this.ConnectionString);
                if (isPOHub == true)
                {
                    if (IsAssignToMe == 0)
                    {
                        cmd = new SqlCommand("usp_datalistnugget_PHBOM", cn);
                    }
                    if (IsAssignToMe == 1)
                    {
                        pageSize = 1000;//Set the max page size dynamically.
                        cmd      = new SqlCommand("usp_datalistnugget_PHBOMAssign", cn);
                    }
                }

                else
                {
                    cmd = new SqlCommand("usp_datalistnugget_BOM", cn);
                }
                cmd.CommandType    = CommandType.StoredProcedure;
                cmd.CommandTimeout = 60;
                cmd.Parameters.Add("@ClientId", SqlDbType.Int).Value     = clientId;
                cmd.Parameters.Add("@TeamId", SqlDbType.Int).Value       = teamId;
                cmd.Parameters.Add("@DivisionId", SqlDbType.Int).Value   = divisionId;
                cmd.Parameters.Add("@LoginId", SqlDbType.Int).Value      = loginId;
                cmd.Parameters.Add("@OrderBy", SqlDbType.Int).Value      = orderBy;
                cmd.Parameters.Add("@SortDir", SqlDbType.Int).Value      = sortDir;
                cmd.Parameters.Add("@PageIndex", SqlDbType.Int).Value    = pageIndex;
                cmd.Parameters.Add("@PageSize", SqlDbType.Int).Value     = pageSize;
                cmd.Parameters.Add("@BOMCode", SqlDbType.NVarChar).Value = bomCode;
                //cmd.Parameters.Add("@CodeHi", SqlDbType.NVarChar).Value = CodeHi;
                cmd.Parameters.Add("@BOMName", SqlDbType.NVarChar).Value     = bomName;
                cmd.Parameters.Add("@IsPoHub", SqlDbType.Bit).Value          = isPOHub;
                cmd.Parameters.Add("@ClientNo", SqlDbType.Int).Value         = selectedClientNo;
                cmd.Parameters.Add("@BomStatus", SqlDbType.Int).Value        = bomStatus;
                cmd.Parameters.Add("@SalesPerson", SqlDbType.NVarChar).Value = salesPerson;//[003]

                if (assignedUser > 0)
                {
                    cmd.Parameters.Add("@AssignedUser", SqlDbType.Int).Value = assignedUser;
                }
                cmd.Parameters.Add("@ClientDivisionNo", SqlDbType.Int).Value = intDivision;
                cn.Open();


                DbDataReader      reader = ExecuteReader(cmd);
                List <BOMDetails> lst    = new List <BOMDetails>();
                while (reader.Read())
                {
                    BOMDetails obj = new BOMDetails();
                    obj.BOMId              = GetReaderValue_Int32(reader, "BOMId", 0);
                    obj.BOMCode            = GetReaderValue_String(reader, "BOMCode", "");
                    obj.BOMName            = GetReaderValue_String(reader, "BOMName", "");
                    obj.RowCnt             = GetReaderValue_NullableInt32(reader, "RowCnt", null);
                    obj.CompanyName        = GetReaderValue_String(reader, "CompanyName", "");
                    obj.Inactive           = GetReaderValue_Boolean(reader, "Inactive", false);
                    obj.BOMStatus          = GetReaderValue_String(reader, "Status", "");
                    obj.DLUP               = GetReaderValue_DateTime(reader, "DLUP", DateTime.MinValue);
                    obj.CurrencyNo         = GetReaderValue_Int32(reader, "CurrencyId", 0);
                    obj.TotalBomLinePrice  = GetReaderValue_Double(reader, "TotalBomLinePrice", 0.00);
                    obj.POCurrencyNo       = GetReaderValue_Int32(reader, "POCurrencyNo", 0);
                    obj.DateRequestToPOHub = GetReaderValue_NullableDateTime(reader, "DateRequestToPOHub", null);
                    obj.AssignedUser       = GetReaderValue_String(reader, "AssignedUser", "");
                    obj.DivisionName       = GetReaderValue_String(reader, "DivisionName", "");
                    obj.ClientCode         = GetReaderValue_String(reader, "ClientCode", "");
                    obj.Requestedby        = GetReaderValue_String(reader, "Requestedby", "");
                    obj.SalesmanName       = GetReaderValue_String(reader, "SalesmanName", "");
                    lst.Add(obj);
                    obj = null;
                }
                return(lst);
            }
            catch (SqlException sqlex)
            {
                //LogException(sqlex);
                throw new Exception("Failed to get BOM", sqlex);
            }
            finally
            {
                cmd.Dispose();
                cn.Close();
                cn.Dispose();
            }
        }