Beispiel #1
0
        public List <ReviewPage> GetReviewPages(string vendor, string accountId, string locationId, string externalId, string CallMethod)
        {
            List <ReviewPage> reviewPages = new List <ReviewPage>();
            var reviewPageId = $"{vendor}|{CallMethod}|{accountId}|{locationId}|{externalId}";

            try
            {
                SetUpMongoConnection();
                var reviewCollection = MongoDBAccess.GetCollection(
                    MONGO_COLLECTION_REVIEWPAGE, MONGO_DATABASE);
                var reviewBuilder = Builders <BsonDocument> .Filter;
                FilterDefinition <BsonDocument> reviewFilter = null;
                AddReviewFilter("SourceName", vendor, ref reviewFilter);
                AddReviewFilter("AccountId", accountId, ref reviewFilter);
                AddReviewFilter("LocationId", locationId, ref reviewFilter);
                AddReviewFilter("ExternalId", externalId, ref reviewFilter);
                AddReviewFilter("CallMethod", CallMethod, ref reviewFilter);
                if (reviewFilter == null)
                {
                    throw new Exception("You can not select Everything");
                }
                //var reviewFilter = reviewBuilder.Eq("Id", reviewPageId);
                var policy = Policy.Handle <Exception>().Retry(3);
                policy.Execute(
                    () => reviewPages = GetReviewPage(reviewFilter, reviewCollection));
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(reviewPages);
        }
        public static List <AlarmHistoryData> getCNCAlarmSolutionDetails(string company, string plant, string machine, string alarmNum)
        {
            List <AlarmHistoryData> list = new List <AlarmHistoryData>();

            try
            {
                list = MongoDBAccess.getCNCAlarmSolutionData(company, plant, machine, alarmNum);
                //var filter = "{'metadata.AlarmNo':'" + alarmNum + "','metadata.MTB':'" + mtb + "'}";
                //var dataset = _MongoDatabase.GetCollection<BsonDocument>("CNC&PreventiveAlarms.files").Find(filter).ToList();
                //int slno = 1;
                //foreach (var item in dataset)
                //{
                //    data = new AlarmHistoryData();
                //    BsonDocument metadata = item["metadata"].AsBsonDocument;
                //    data.AlarmNo = metadata["AlarmNo"].ToString();
                //    data.AlarmCause = metadata["Cause"].ToString();
                //    data.AlarmSolution = metadata["Solution"].ToString();
                //    data.SlNo = slno.ToString();
                //    list.Add(data);
                //    slno++;
                //}
            }
            catch (Exception ex)
            {
            }
            return(list);
        }
Beispiel #3
0
        private void BindMachineDocument()
        {
            string mtb = ddlMTB.SelectedValue;
            //string model = "";
            //foreach (ListItem item in lbModel.Items)
            //{
            //    if(item.Selected)
            //    {
            //        //model += "'" + item.Value + "',";
            //        model = item.Value;
            //    }
            //}
            //if (model.Length > 0)
            //{
            //    model = model.Remove(model.Length - 1);
            //}
            BsonArray model = new BsonArray();

            foreach (ListItem item in lbModel.Items)
            {
                if (item.Selected)
                {
                    model.Add(item.Value);
                }
            }
            List <eDocumentData> list = MongoDBAccess.getTroubleshootingEdocuments(mtb, model);

            gvMachineLvlData.DataSource = list;
            gvMachineLvlData.DataBind();
        }
 //Copy Function
 protected void btnCopySignatureValue_Click(object sender, EventArgs e)
 {
     try
     {
         int    index      = Convert.ToInt32(((sender as LinkButton).NamingContainer as GridViewRow).RowIndex);
         string machine    = ddlMachine.SelectedValue;
         string company    = ddlCompany.SelectedValue;
         string plant      = ddlPlant.SelectedValue;
         string parameter  = (gvSignatureComparisionDetails.Rows[index].FindControl("lblParemeterID") as Label).Text;
         string signatueID = (gvSignatureComparisionDetails.Rows[index].FindControl("lblSignatureID") as Label).Text;
         lblSrcCopyCompany.Text         = company;
         lblSrcCopyPlant.Text           = plant;
         lblSrcCopyMachine.Text         = machine;
         lblSrcCopyParameter.Text       = parameter;
         lblSrcCopySignature.Text       = signatueID;
         ddlDestiCopyMachine.DataSource = MongoDBAccess.getMachineID(company, plant);
         ddlDestiCopyMachine.DataBind();
         txtDestiCopySignature.Text = "";
         ddlDestiCopyMachine_SelectedIndexChanged(null, null);
         ScriptManager.RegisterStartupScript(this, GetType(), "warning", "openCopySignatureValueModal();", true);
     }
     catch (Exception ex)
     {
     }
 }
 protected void btnChangeSave_Click(object sender, EventArgs e)
 {
     try
     {
         if (Session["SignatureExistingData"] != null)
         {
             List <SignatureComparisionData> list = null;
             for (int i = 0; i < lvExistingSignature.Items.Count; i++)
             {
                 if ((lvExistingSignature.Items[i].FindControl("chkSelect") as CheckBox).Checked)
                 {
                     list = Session["SignatureExistingData"] as List <SignatureComparisionData>;
                     string company        = (lvExistingSignature.Items[i].FindControl("hdnComany") as HiddenField).Value;
                     string plant          = (lvExistingSignature.Items[i].FindControl("hdnPlant") as HiddenField).Value;
                     string machine        = (lvExistingSignature.Items[i].FindControl("hdnMachine") as HiddenField).Value;
                     string paremeter      = (lvExistingSignature.Items[i].FindControl("lblParameter") as Label).Text;
                     string signatureidOld = (lvExistingSignature.Items[i].FindControl("hdnSignatureID") as HiddenField).Value;
                     string signatureid    = (lvExistingSignature.Items[i].FindControl("txtSignature") as TextBox).Text.Trim();
                     var    destiList      = list.Where(k => k.Company == company && k.Plant == plant && k.MachineID == machine && k.SignatureID == signatureidOld && k.ParameterID == paremeter).Select(k => k.SignatureData).ToList();
                     List <SignatureComparisionDetails> finalList = new List <SignatureComparisionDetails>();
                     foreach (var data in destiList)
                     {
                         for (int j = 0; j < data.Count; j++)
                         {
                             SignatureComparisionDetails seqData = new SignatureComparisionDetails();
                             seqData.CompanyID      = company;
                             seqData.PlantID        = plant;
                             seqData.MachineID      = machine;
                             seqData.ParameterID    = paremeter;
                             seqData.SignatureID    = signatureid;
                             seqData.Frequency      = data[j].Frequency;
                             seqData.ParameterValue = data[j].ParameterValue;
                             finalList.Add(seqData);
                         }
                     }
                     list.RemoveAll(k => k.Company == company && k.Plant == plant && k.MachineID == machine && k.SignatureID == signatureidOld && k.ParameterID == paremeter);
                     Session["SignatureExistingData"] = list;;
                     MongoDBAccess.insertSignatureComparisonMasterData(finalList);
                 }
             }
             if (list.Count > 0)
             {
                 ScriptManager.RegisterStartupScript(this, GetType(), "openModal", "openExistingSignatureDataModal();", true);
                 btnOverwrite.Enabled           = false;
                 btnChangeSave.Visible          = false;
                 btnChange.Visible              = true;
                 btnChangeCancel.Visible        = false;
                 lvExistingSignature.DataSource = list;
                 lvExistingSignature.DataBind();
             }
         }
         BindSignatureDetails();
     }
     catch (Exception ex)
     {
     }
 }
 protected void btnInsert_Click(object sender, EventArgs e)
 {
     try
     {
         List <SignatureComparisionDetails> list   = new List <SignatureComparisionDetails>();
         SignatureComparisionDetails        master = new SignatureComparisionDetails();
         master.CompanyID      = ddlCompany.SelectedValue;
         master.PlantID        = ddlPlant.SelectedValue;
         master.MachineID      = ddlMachine.SelectedValue;
         master.ParameterID    = (gvSignatureComparisionDetails.FooterRow.FindControl("lblParemeterIDNew") as Label).Text;
         master.SignatureID    = (gvSignatureComparisionDetails.FooterRow.FindControl("lblSignatureIDNew") as Label).Text;
         master.Frequency      = (gvSignatureComparisionDetails.FooterRow.FindControl("txtSecondsNew") as TextBox).Text.Trim();
         master.ParameterValue = (gvSignatureComparisionDetails.FooterRow.FindControl("txtSignatureValueNew") as TextBox).Text.Trim();
         list.Add(master);
         if (master.CompanyID == "")
         {
             ScriptManager.RegisterStartupScript(this, GetType(), "warning", "openWarningModal('Please select Company.');", true);
             return;
         }
         if (master.PlantID == "")
         {
             ScriptManager.RegisterStartupScript(this, GetType(), "warning", "openWarningModal('Please select Plant.');", true);
             return;
         }
         if (master.MachineID == "")
         {
             ScriptManager.RegisterStartupScript(this, GetType(), "warning", "openWarningModal('Please select Machine.');", true);
             return;
         }
         if (master.ParameterID == "")
         {
             ScriptManager.RegisterStartupScript(this, GetType(), "warning", "openWarningModal('Please select Process Parameter.');", true);
             return;
         }
         if (master.SignatureID == "")
         {
             ScriptManager.RegisterStartupScript(this, GetType(), "warning", "openWarningModal('Please select Signature ID.');", true);
             return;
         }
         if (master.Frequency == "")
         {
             ScriptManager.RegisterStartupScript(this, GetType(), "warning", "openWarningModal('Please enter Seconds.');", true);
             return;
         }
         if (master.ParameterValue == "")
         {
             ScriptManager.RegisterStartupScript(this, GetType(), "warning", "openWarningModal('Please enter Signature Value.');", true);
             return;
         }
         MongoDBAccess.insertSignatureComparisonMasterData(list);
         BindSignatureDetails();
     }
     catch (Exception ex)
     {
     }
 }
 private void bindMachineID()
 {
     try
     {
         ddlMachine.DataSource = MongoDBAccess.getMachineID(ddlCompany.SelectedValue, ddlPlant.SelectedValue);
         ddlMachine.DataBind();
         BindParameters();
     }
     catch (Exception ex)
     {
     }
 }
        public static List <AlarmHistoryData> getCNCAlarmDetails(string company, string plant, string machine)
        {
            List <AlarmHistoryData> list = new List <AlarmHistoryData>();

            try
            {
                list = MongoDBAccess.getCNCAlarmData(company, plant, machine);
            }
            catch (Exception ex)
            {
            }
            return(list);
        }
 protected void ddlDestiCopyMachine_SelectedIndexChanged(object sender, EventArgs e)
 {
     try
     {
         string    company      = lblSrcCopyCompany.Text;
         string    plant        = lblSrcCopyPlant.Text;
         BsonArray machineNames = new BsonArray();
         machineNames.Add(ddlDestiCopyMachine.SelectedValue);
         ddlDestiCopyParameter.DataSource = MongoDBAccess.getParameterListForMachines(machineNames, company, plant);
         ddlDestiCopyParameter.DataBind();
         ScriptManager.RegisterStartupScript(this, GetType(), "warning", "openCopySignatureValueModal();", true);
     }
     catch (Exception ex)
     {
     }
 }
 private void bindMachineID()
 {
     try
     {
         //List<ListItem> listItemList = new List<ListItem>();
         //listItemList = DBAccess.getMachineIDs(ddlCompany.SelectedValue == null ? "" : ddlCompany.SelectedValue.ToString(), ddlPlant.SelectedValue == null ? "" : ddlPlant.SelectedValue.ToString());
         //multiselectddlMachineID.DataSource = listItemList;
         //multiselectddlMachineID.DataTextField = "Text";
         //multiselectddlMachineID.DataValueField = "Value";
         //multiselectddlMachineID.DataBind();
         List <string> listItemList = new List <string>();
         listItemList = MongoDBAccess.getMachineID(ddlCompany.SelectedValue == null ? "" : ddlCompany.SelectedValue.ToString(), ddlPlant.SelectedValue == null ? "" : ddlPlant.SelectedValue.ToString());
         multiselectddlMachineID.DataSource = listItemList;
         multiselectddlMachineID.DataBind();
         if (Session["PPMachines"] == null)
         {
             if (listItemList.Count > 0)
             {
                 multiselectddlMachineID.Items[0].Selected = true;
             }
         }
         else
         {
             List <string> machines = (List <string>)Session["PPMachines"];
             // Session["PPMachines"] = null;
             foreach (ListItem item in multiselectddlMachineID.Items)
             {
                 item.Selected = false;
             }
             for (int i = 0; i < machines.Count; i++)
             {
                 foreach (ListItem item in multiselectddlMachineID.Items)
                 {
                     if (item.Text == machines[i])
                     {
                         item.Selected = true;
                     }
                 }
             }
         }
         bindParameters();
     }
     catch (Exception ex)
     {
     }
 }
 protected void btnChangeSignature_Click(object sender, EventArgs e)
 {
     try
     {
         string company   = lblChangeSignCompany.Text;
         string plant     = lblChangeSignPlant.Text;
         string machine   = lblChangeSignMachine.Text;
         string parameter = lblChangeParameter.Text;
         string idFrom    = lblChangeSignIdFrom.Text;
         string idTo      = txtChangeSignatureID.Text;
         //update query
         MongoDBAccess.updateSignatureIdMasterData(company, plant, machine, parameter, idFrom, idTo);
         BindSignatureDetails();
     }
     catch (Exception ex)
     { }
 }
 private void BindSignatureID()
 {
     try
     {
         string    selctedSignatureId = ddlSignatureID.SelectedValue;
         string    machine            = ddlMachine.SelectedValue;
         BsonArray parameters         = new BsonArray();
         foreach (ListItem item in lbProcessParameters.Items)
         {
             if (item.Selected)
             {
                 if (parameters == "")
                 {
                     parameters.Add(item.Value);
                 }
                 else
                 {
                     parameters.Add(item.Value);
                 }
             }
         }
         List <string> parameterList = new List <string>();
         parameterList = MongoDBAccess.getSignatureId(ddlCompany.SelectedValue, ddlPlant.SelectedValue, machine, parameters);
         ddlSignatureID.Items.Clear();
         ddlSignatureID.DataSource = parameterList;
         ddlSignatureID.DataBind();
         ddlSignatureID.Items.Insert(0, "All");
         try
         {
             if (selctedSignatureId != "")
             {
                 ddlSignatureID.SelectedValue = selctedSignatureId;
             }
         }
         catch (Exception ex) { }
     }
     catch (Exception ex)
     {
     }
 }
 private void BindParameters()
 {
     try
     {
         BsonArray machineNames = new BsonArray();
         machineNames.Add(ddlMachine.SelectedValue);
         List <ListItem> parameterList = new List <ListItem>();
         parameterList = MongoDBAccess.getParameterListForMachines(machineNames, ddlCompany.SelectedValue, ddlPlant.SelectedValue);
         lbProcessParameters.DataSource = parameterList;
         lbProcessParameters.DataBind();
         if (parameterList.Count > 0)
         {
             for (int i = 0; i < lbProcessParameters.Items.Count; i++)
             {
                 lbProcessParameters.Items[i].Selected = true;
             }
         }
         BindSignatureID();
     }
     catch (Exception ex)
     {
     }
 }
 protected void btnSave_Click(object sender, EventArgs e)
 {
     try
     {
         for (int i = 0; i < gvSignatureComparisionDetails.Rows.Count; i++)
         {
             string hdnValue = (gvSignatureComparisionDetails.Rows[i].FindControl("hdnUpdate") as HiddenField).Value;
             if (hdnValue.Equals("update", StringComparison.OrdinalIgnoreCase))
             {
                 string id = (gvSignatureComparisionDetails.Rows[i].FindControl("hdnID") as HiddenField).Value;
                 SignatureComparisionDetails master = new SignatureComparisionDetails();
                 master.CompanyID      = ddlCompany.SelectedValue;
                 master.PlantID        = ddlPlant.SelectedValue;
                 master.MachineID      = ddlMachine.SelectedValue;
                 master.ParameterID    = (gvSignatureComparisionDetails.Rows[i].FindControl("lblParemeterID") as Label).Text;
                 master.SignatureID    = (gvSignatureComparisionDetails.Rows[i].FindControl("lblSignatureID") as Label).Text;
                 master.Frequency      = (gvSignatureComparisionDetails.Rows[i].FindControl("txtSeconds") as TextBox).Text;
                 master.ParameterValue = (gvSignatureComparisionDetails.Rows[i].FindControl("txtSignatureValue") as TextBox).Text;
                 if (master.Frequency == "")
                 {
                     ScriptManager.RegisterStartupScript(this, GetType(), "warning", "openWarningModal('Please enter Seconds.');", true);
                     return;
                 }
                 if (master.ParameterValue == "")
                 {
                     ScriptManager.RegisterStartupScript(this, GetType(), "warning", "openWarningModal('Please enter Signature Value.');", true);
                     return;
                 }
                 MongoDBAccess.updateSignatureFreqAndParameterMasterDataByID(id, master);
             }
         }
         BindSignatureDetails();
     }
     catch (Exception ex)
     {
     }
 }
Beispiel #15
0
        private void SetUpMongoConnection()
        {
            if (!String.IsNullOrEmpty(_environment))
            {
                switch (_environment.ToLower())
                {
                case "prod":     // Production
                    MongoDBAccess.SetConnectionString("mongoDB.connection");
                    break;

                case "dev":
                    MongoDBAccess.SetConnectionString("mongoDB.connectionDev");
                    break;

                default:
                    MongoDBAccess.SetConnectionString("mongoDB.connectionDev");
                    break;
                }
            }
            else
            {
                MongoDBAccess.SetConnectionString("mongoDB.connectionDev");
            }
        }
Beispiel #16
0
        public List <Review> GetReviews(string reviewPageId)
        {
            List <Review> reviews = new List <Review>();

            try
            {
                SetUpMongoConnection();
                var reviewCollection    = MongoDBAccess.GetCollection(MONGO_COLLECTION_REVIEW, MONGO_DATABASE);
                var reviewBuilder       = Builders <BsonDocument> .Filter;
                var reviewFilter        = reviewBuilder.Eq("ReviewPageId", reviewPageId);
                var reviewBsonDocuments = reviewCollection.Find(reviewFilter).ToList();

                if (reviewBsonDocuments.Any())
                {
                    foreach (var reviewBsonDocument in reviewBsonDocuments)
                    {
                        var id = reviewBsonDocument.GetValue("Id", null).ToString();

                        var collection = MongoDBAccess.GetCollection(
                            MONGO_COLLECTION_COMMENT, MONGO_DATABASE);
                        var builder = Builders <BsonDocument> .Filter;
                        var filter  = builder.Eq("ReviewId", id);


                        //var commentBsonDocuments = collection.Find(filter).ToList();
                        List <Comment> comments = new List <Comment>();

                        //if (commentBsonDocuments.Any())
                        //{
                        //    comments = commentBsonDocuments.
                        //        Select(x => new Comment
                        //        {
                        //            Id = x.GetValue("Id", null).ToString(),
                        //            ReviewId = x.GetValue("ReviewId", null).ToString(),
                        //            Author = (reviewBsonDocument.GetValue("Author", null) != null) ?
                        //            JsonConvert.DeserializeObject<Author>(
                        //                reviewBsonDocument["Author"].ToJson()) : new Author(),
                        //            Content = reviewBsonDocument.GetValue("Content", null).ToString(),
                        //            Created = reviewBsonDocument.GetValue("Created", null).ToString(),
                        //            Replies = (reviewBsonDocument.GetValue("Replies", null) != null) ?
                        //            JsonConvert.DeserializeObject<List<Comment>>(
                        //                reviewBsonDocument["Replies"].ToJson()) : null
                        //        })
                        //        .ToList();
                        //}

                        var currReview = new Review
                        {
                            ParsedId     = (reviewBsonDocument.GetValue("ParsedId", null) != null) ? reviewBsonDocument.GetValue("ParsedId", null).ToString():string.Empty,
                            ReviewPageId = reviewBsonDocument.GetValue("ReviewPageId", null).ToString(),
                            Author       = (reviewBsonDocument.GetValue("Author", null) != null) ?
                                           JsonConvert.DeserializeObject <Author>(
                                reviewBsonDocument["Author"].ToJson()) : new Author(),
                            Rating   = (reviewBsonDocument.GetValue("Rating", null) != null) ? reviewBsonDocument.GetValue("Rating", null).ToInt32() : 0,
                            Content  = (reviewBsonDocument.GetValue("Content", null) != null) ? reviewBsonDocument.GetValue("Content", null).ToString() : null,
                            Created  = reviewBsonDocument.GetValue("Created", null).ToString(),
                            Updated  = reviewBsonDocument.GetValue("Updated", null).ToString(),
                            Response = (reviewBsonDocument.GetValue("Response", null) != null) ?
                                       JsonConvert.DeserializeObject <Response>(
                                reviewBsonDocument["Response"].ToJson()) : new Response(),
                            Children = (reviewBsonDocument.GetValue("Children", null) != null) ?
                                       JsonConvert.DeserializeObject <List <Review> >(
                                reviewBsonDocument["Children"].ToJson()) : null,
                            Comments = comments,
                            Metadata = (reviewBsonDocument.GetValue("Metadata", null) != null) ?
                                       JsonConvert.DeserializeObject <Dictionary <string, string> >(
                                reviewBsonDocument["Metadata"].ToJson()) : null
                        };

                        reviews.Add(currReview);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(reviews);
        }
        private void BindSignatureDetails()
        {
            try
            {
                BindSignatureID();
                string company                = ddlCompany.SelectedValue == null ? "" : ddlCompany.SelectedValue.ToString();
                string plant                  = ddlPlant.SelectedValue == null ? "" : ddlPlant.SelectedValue.ToString();
                string machineId              = ddlMachine.SelectedValue == null ? "" : ddlMachine.SelectedValue.ToString();
                string parameters             = "";
                int    selectedParameterCount = 0;
                string selectedParameter      = "";
                foreach (ListItem item in lbProcessParameters.Items)
                {
                    if (item.Selected)
                    {
                        selectedParameterCount++;
                        selectedParameter = item.Value;
                        parameters       += "'" + item.Value + "',";
                    }
                }
                if (parameters.Length > 0)
                {
                    parameters = parameters.Remove(parameters.Length - 1);
                }
                string signatureid = ddlSignatureID.SelectedValue == null ? "" : ddlSignatureID.SelectedValue.ToString();
                if (company == "")
                {
                    ScriptManager.RegisterStartupScript(this, GetType(), "warning", "openWarningModal('Please select Company.');", true);
                    return;
                }
                if (plant == "")
                {
                    ScriptManager.RegisterStartupScript(this, GetType(), "warning", "openWarningModal('Please select Plant.');", true);
                    return;
                }
                if (machineId == "")
                {
                    ScriptManager.RegisterStartupScript(this, GetType(), "warning", "openWarningModal('Please select Machine.');", true);
                    return;
                }
                if (selectedParameterCount == 0)
                {
                    ScriptManager.RegisterStartupScript(this, GetType(), "warning", "openWarningModal('Please select Process Parameter.');", true);
                    return;
                }
                if (signatureid == "")
                {
                    ScriptManager.RegisterStartupScript(this, GetType(), "warning", "openWarningModal('Please select Signature ID.');", true);
                    return;
                }
                //EDIT & ADD NEW will be enabled for 1 Machine, 1 Parameter and 1 Signature only
                if (company != "" && plant != "" && machineId != "" && selectedParameterCount == 1 && signatureid != "All")
                {
                    btnSave.Visible = true;
                    txtVisible      = true;
                    lblVisible      = false;
                }
                else
                {
                    btnSave.Visible = false;
                    txtVisible      = false;
                    lblVisible      = true;
                }


                List <SignatureComparisionDetails> signatureComparisionDetails = MongoDBAccess.getSignatureComparisonMasterData(company, plant, machineId, parameters, signatureid);
                gvSignatureComparisionDetails.DataSource = signatureComparisionDetails;
                gvSignatureComparisionDetails.DataBind();
                if (signatureComparisionDetails.Count > 0)
                {
                    gvSignatureComparisionDetails.FooterRow.Visible = false;
                }
                //EDIT & ADD NEW will be enabled for 1 Machine, 1 Parameter and 1 Signature only
                if (company != "" && plant != "" && machineId != "" && selectedParameterCount == 1 && signatureid != "All")
                {
                    if (signatureComparisionDetails.Count > 0)
                    {
                        gvSignatureComparisionDetails.FooterRow.Visible = true;
                    }
                    (gvSignatureComparisionDetails.FooterRow.FindControl("lblSignatureIDNew") as Label).Text = signatureid;
                    (gvSignatureComparisionDetails.FooterRow.FindControl("lblParemeterIDNew") as Label).Text = selectedParameter;
                }
                // BindNewSignatureID();
                //for (int i = 0; i < gvSignatureComparisionDetails.Rows.Count; i++)
                //{
                //    (gvSignatureComparisionDetails.Rows[i].FindControl("lblSeconds") as Label).Visible = lblVisible;
                //    (gvSignatureComparisionDetails.Rows[i].FindControl("txtSeconds") as TextBox).Visible = txtVisible;
                //    (gvSignatureComparisionDetails.Rows[i].FindControl("lblSignatureValue") as Label).Visible = lblVisible;
                //    (gvSignatureComparisionDetails.Rows[i].FindControl("txtSignatureValue") as TextBox).Visible = txtVisible;
                //}
            }
            catch (Exception ex)
            {
            }
        }
Beispiel #18
0
 public LabelRepository(MongoDBAccess db)
 {
     db_ = db;
 }
        public static List <AlarmHistoryDocData> getFileInformation(string alarmNo, string colName, string machineid, string company, string plant, string cncCause, string cncSolution)
        {
            List <AlarmHistoryDocData> listDoc = new List <AlarmHistoryDocData>();

            try
            {
                string mtb = DBAccess.getMTBForMachine(company, plant, machineid);
                List <AlarmHistoryDocData> documentIdList = MongoDBAccess.getAlarmHistoryDocumentList(alarmNo, colName, machineid, company, plant, cncCause, cncSolution, mtb);

                byte[] fileByte = null;
                foreach (var fileObjId in documentIdList)
                {
                    AlarmHistoryDocData data = new AlarmHistoryDocData();
                    string fileid            = fileObjId.FileID;
                    string filenameStr       = fileObjId.FileName;


                    string   fileBase64 = "";
                    ObjectId id         = new ObjectId(fileid);
                    Logger.WriteDebugLog("Download alarm doc File: Before: " + DateTime.Now);
                    fileByte = MongoDBAccess.getAlarmFilesInByte(fileid, colName);
                    Logger.WriteDebugLog("Download alarm doc File: After: " + DateTime.Now);
                    if (fileByte != null)
                    {
                        fileBase64 = Convert.ToBase64String(fileByte);
                    }
                    Logger.WriteDebugLog("Download eDoc File: After base64: " + DateTime.Now);
                    string fileName = filenameStr;
                    if (!string.IsNullOrEmpty(fileBase64))
                    {
                        string extension = "";
                        if (filenameStr != "")
                        {
                            var list = filenameStr.Split('.').ToList();
                            extension = list[list.Count - 1].ToLower();
                        }
                        string filetype = "";
                        if ((extension == "mp4") || (extension == "wmv") || (extension == "avi") || (extension == "mov") || (extension == "qt") || (extension == "yuv") || (extension == "mkv") || (extension == "webm") || (extension == "flv") || (extension == "ogg") || (extension == "gif"))
                        {
                            filetype = "video";
                        }
                        else if (extension == "png" || extension == "jpg" || extension == "tif" || extension == "tiff" || extension == "bmp" || extension == "jpeg" || extension == "gif" || extension == "eps" || extension == "tif" || extension == "tif" || extension == "tif")
                        {
                            filetype = "image";
                        }
                        else if (extension == "pdf")
                        {
                            filetype = "pdf";
                        }
                        else if (extension == "xlsx" || extension == "xlsm" || extension == "xlsb" || extension == "xltx" || extension == "xltm" || extension == "xls" || extension == "xlt" || extension == "xml" || extension == "xlam" || extension == "xlw" || extension == "xlr")
                        {
                            filetype = "excel";
                        }
                        else
                        {
                            filetype = "other";
                        }
                        data.FileName      = filenameStr;
                        data.FileInBase64  = fileBase64;
                        data.FileType      = filetype;
                        data.FileExtension = extension;
                        listDoc.Add(data);
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.WriteDebugLog("Download alarm doc File: Error: " + DateTime.Now + "   --- " + ex.Message);
            }
            Logger.WriteDebugLog("Download alarm doc File: data return: " + DateTime.Now);
            return(listDoc);
        }
        public static MachineDocumentsData getFileNamePath(string fileId, string filenameStr, string colName)
        {
            string filePath           = "";
            MachineDocumentsData data = new MachineDocumentsData();

            try
            {
                byte[] fileByte   = null;
                string fileBase64 = "";
                fileByte = MongoDBAccess.getEDocFilesInByte(fileId, colName);
                if (fileByte != null)
                {
                    fileBase64 = Convert.ToBase64String(fileByte);
                }
                string fileName = filenameStr;
                if (!string.IsNullOrEmpty(fileBase64))
                {
                    string extension = "";
                    if (filenameStr != "")
                    {
                        var list = filenameStr.Split('.').ToList();
                        extension = list[list.Count - 1].ToLower();
                    }
                    string filetype = "";
                    if ((extension == "mp4") || (extension == "wmv") || (extension == "avi") || (extension == "mov") || (extension == "qt") || (extension == "yuv") || (extension == "mkv") || (extension == "webm") || (extension == "flv") || (extension == "ogg") || (extension == "gif"))
                    {
                        filetype = "video";
                    }
                    else if (extension == "png" || extension == "jpg" || extension == "tif" || extension == "tiff" || extension == "bmp" || extension == "jpeg" || extension == "gif" || extension == "eps" || extension == "tif" || extension == "tif" || extension == "tif")
                    {
                        filetype = "image";
                    }
                    else if (extension == "pdf")
                    {
                        filetype = "pdf";
                    }
                    else if (extension == "xlsx" || extension == "xlsm" || extension == "xlsb" || extension == "xltx" || extension == "xltm" || extension == "xls" || extension == "xlt" || extension == "xml" || extension == "xlam" || extension == "xlw" || extension == "xlr")
                    {
                        filetype = "excel";
                    }
                    else
                    {
                        filetype = "other";
                    }
                    // data.FileName = "MachineFiles/" + fileName + "#toolbar=0";
                    data.FileName      = filenameStr;
                    data.FileInBase64  = fileBase64;
                    data.FileType      = filetype;
                    data.FileExtension = extension;
                }
                else
                {
                    data.FileName      = "";
                    data.FileInBase64  = "";
                    data.FileType      = "";
                    data.FileExtension = "";
                }
            }
            catch (Exception ex)
            {
                data.FileName      = "";
                data.FileInBase64  = "";
                data.FileType      = "";
                data.FileExtension = "";
            }
            HttpContext.Current.Session["eDocDetailsForDownload"] = data;
            return(data);
        }
        private void BindMachineDocuments()
        {
            try
            {
                hdnFieldIDForPB.Value  = "";
                hdnColNameForPB.Value  = "";
                hdnFileNameForPB.Value = "";
                string view = "nodate";
                string fromDate = "", toDate = "";
                if (txtFromDate.Text.Trim() == "" && txtFromDate.Text.Trim() == "")
                {
                    view = "nodate";
                }
                else
                {
                    if (txtFromDate.Text.Trim() == "")
                    {
                        ScriptManager.RegisterStartupScript(this, this.GetType(), "warning", "openWarningModal('Please select From Date.');", true);
                        return;
                    }
                    if (txtToDate.Text.Trim() == "")
                    {
                        ScriptManager.RegisterStartupScript(this, this.GetType(), "warning", "openWarningModal('Please select To Date.');", true);
                        return;
                    }
                    fromDate = txtFromDate.Text.Trim();
                    toDate   = txtToDate.Text.Trim();
                    view     = "date";
                }



                BsonArray model = new BsonArray();
                if (ddlModel.SelectedValue == "All")
                {
                    foreach (ListItem item in ddlModel.Items)
                    {
                        model.Add(item.Value);
                    }
                }
                else
                {
                    model.Add(ddlModel.SelectedValue);
                }
                BsonArray machineSlno = new BsonArray();
                if (ddlMachineNumber.SelectedValue == "All")
                {
                    foreach (ListItem item in ddlMachineNumber.Items)
                    {
                        machineSlno.Add(item.Value);
                    }
                }
                else
                {
                    machineSlno.Add(ddlMachineNumber.SelectedValue);
                }

                BsonArray category = new BsonArray();
                if (ddlCategory.SelectedValue == "All")
                {
                    foreach (ListItem item in ddlCategory.Items)
                    {
                        category.Add(item.Value);
                    }
                }
                else
                {
                    category.Add(ddlCategory.SelectedValue);
                }
                BsonArray subcategory = new BsonArray();
                if (ddlSubCategory.SelectedValue == "All")
                {
                    foreach (ListItem item in ddlSubCategory.Items)
                    {
                        subcategory.Add(item.Value);
                    }
                }
                else
                {
                    subcategory.Add(ddlSubCategory.SelectedValue);
                }

                List <eDocumentData> list = MongoDBAccess.getMachineDocumentsDetails(model, machineSlno, category, subcategory, fromDate, toDate, view);
                lvMachineDocs.DataSource = list;
                lvMachineDocs.DataBind();
                lvMachineDocsCardView.DataSource = list;
                lvMachineDocsCardView.DataBind();
            }
            catch (Exception ex)
            {
            }
        }
        private void bindData()
        {
            try
            {
                string machineNames = "", parameterNames = "";
                foreach (ListItem item in multiselectddlMachineID.Items)
                {
                    if (item.Selected)
                    {
                        if (machineNames == "")
                        {
                            machineNames = "['" + item.Text + "'";
                        }
                        else
                        {
                            machineNames += ",'" + item.Text + "'";
                        }
                    }
                }
                if (machineNames != "")
                {
                    machineNames += "]";
                }
                else
                {
                    machineNames = "['']";
                }
                List <string> headerName = new List <string>();
                headerName.Add("MachineID");
                headerName.Add("CycleStartTS");
                headerName.Add("CycleEndTS");
                headerName.Add("UpdatedTS");
                foreach (ListItem item in cbParameterList.Items)
                {
                    if (item.Selected)
                    {
                        if (parameterNames == "")
                        {
                            parameterNames = "['" + item.Text + "'";
                        }
                        else
                        {
                            parameterNames += ",'" + item.Text + "'";
                        }
                        //headerName.Add(item.Text.Replace("-",""));
                        headerName.Add(item.Text);
                    }
                }
                if (parameterNames != "")
                {
                    parameterNames += "]";
                }
                else
                {
                    parameterNames = "['']";
                }
                string FromDate = txtFromDateTime.Text;
                double ToDate   = ddlSelectHour.SelectedValue == null?0.5:Convert.ToDouble(ddlSelectHour.SelectedValue);
                //var filter = "{$and : [{ UpdatedTS: {$gte: ISODate('" + Util.GetDateTime(FromDate).ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ssZ") + "')} },{ UpdatedTS: {$lte: ISODate('" + Util.GetDateTime(FromDate).AddHours(ToDate).ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ssZ") + "')} }, {MachineID : {$in : " + machineNames + "}}]}";
                //var dataset = _MongoDatabase.GetCollection<BsonDocument>("PPT_AMGIOT_ColumnData_Test").Find(filter).ToList();

                List <BsonDocument> dataset = MongoDBAccess.getDataForListOfValues(FromDate, ToDate, machineNames, ddlCompany.SelectedValue == null ? "" : ddlCompany.SelectedValue.ToString(), ddlPlant.SelectedValue == null ? "" : ddlPlant.SelectedValue.ToString());

                for (int i = gvListOfValues.Columns.Count - 1; i >= 0; i--)
                {
                    gvListOfValues.Columns.RemoveAt(i);
                }
                for (int i = headerName.Count - 1; i >= 0; i--)
                {
                    BoundField boundField = new BoundField();
                    boundField.DataField  = headerName[i].ToString();
                    boundField.HeaderText = headerName[i].ToString();
                    gvListOfValues.Columns.Insert(0, boundField);
                }

                DataTable dt = new DataTable();
                for (int i = 0; i < headerName.Count; i++)
                {
                    dt.Columns.Add(headerName[i]);
                }

                foreach (BsonDocument document in dataset)
                {
                    DataRow dr = dt.NewRow();
                    foreach (BsonElement elm in document.Elements)
                    {
                        if (dt.Columns.Contains(elm.Name))
                        {
                            if (elm.Name == "CycleStartTS" || elm.Name == "CycleEndTS" || elm.Name == "UpdatedTS")
                            {
                                if (elm.Value == BsonNull.Value)
                                {
                                    dr[elm.Name] = "";
                                }
                                else
                                {
                                    dr[elm.Name] = elm.Value.AsLocalTime.ToString("dd-MM-yyyy HH:mm:ss");
                                }

                                // dr[elm.Name] = elm.Value.AsDateTime.ToString("dd-MM-yyyy HH:mm:ss");
                            }
                            else
                            {
                                System.Type type = elm.Value.GetType();
                                if (type.Name == "BsonDouble")
                                {
                                    dr[elm.Name] = Math.Round(elm.Value.AsDouble, 3);
                                }
                                else
                                {
                                    dr[elm.Name] = elm.Value;
                                }
                            }
                        }
                    }
                    dt.Rows.Add(dr);
                }
                DataView dv = dt.DefaultView;
                dv.Sort = "MachineID";
                DataTable sortedDT = dv.ToTable();
                gvListOfValues.DataSource = sortedDT;
                gvListOfValues.DataBind();
                Session["ProcessParameterListOfValuesDetails"] = dt;
            }
            catch (Exception ex)
            {
            }
        }
        private void bindParameters()
        {
            try
            {
                BsonArray machineNames = new BsonArray();
                foreach (ListItem item in multiselectddlMachineID.Items)
                {
                    if (item.Selected)
                    {
                        if (machineNames == "")
                        {
                            machineNames.Add(item.Value);
                        }
                        else
                        {
                            machineNames.Add(item.Value);
                        }
                    }
                }
                //List<string> selectedParameterList = new List<string>();
                //foreach (ListItem item in cbParameterList.Items)
                //{
                //    if (item.Selected)
                //    {
                //        selectedParameterList.Add(item.Text);
                //    }
                //}
                List <string> selectedParameterList = new List <string>();
                if (Session["PPParameters"] == null)
                {
                }
                else
                {
                    selectedParameterList = (List <string>)Session["PPParameters"];
                }


                foreach (ListItem item in cbParameterList.Items)
                {
                    if (item.Selected)
                    {
                        if (selectedParameterList.Contains(item.Text))
                        {
                        }
                        else
                        {
                            selectedParameterList.Add(item.Text);
                        }
                    }
                    else
                    {
                        if (selectedParameterList.Contains(item.Text))
                        {
                            selectedParameterList.Remove(item.Text);
                        }
                    }
                }
                Session["PPParameters"] = selectedParameterList;

                List <ListItem> parameterList = new List <ListItem>();
                if (cbCommonParametersOnly.Checked)
                {
                    parameterList = MongoDBAccess.getCoomomParameterListForMachines(machineNames, ddlCompany.SelectedValue == null ? "" : ddlCompany.SelectedValue.ToString(), ddlPlant.SelectedValue == null ? "" : ddlPlant.SelectedValue.ToString());
                }
                else
                {
                    parameterList = MongoDBAccess.getParameterListForMachines(machineNames, ddlCompany.SelectedValue == null ? "" : ddlCompany.SelectedValue.ToString(), ddlPlant.SelectedValue == null ? "" : ddlPlant.SelectedValue.ToString());
                }

                cbParameterList.DataSource = parameterList;
                cbParameterList.DataBind();
                //if (parameterList.Count > 0)
                //{
                //    cbParameterList.Items[0].Selected = true;
                //}
                bool selected = false;
                for (int i = 0; i < selectedParameterList.Count; i++)
                {
                    foreach (ListItem item in cbParameterList.Items)
                    {
                        if (item.Text == selectedParameterList[i])
                        {
                            item.Selected = true;
                            selected      = true;
                        }
                    }
                }
                if (!selected)
                {
                    if (parameterList.Count > 0)
                    {
                        cbParameterList.Items[0].Selected = true;
                    }
                }
            }
            catch (Exception ex)
            {
            }
        }
Beispiel #24
0
 public BoardRepository(MongoDBAccess db)
 {
     db_ = db;
 }
        protected void btnCopy_Click(object sender, EventArgs e)
        {
            try
            {
                string srcCompany   = lblSrcCopyCompany.Text;
                string srcPlant     = lblSrcCopyPlant.Text;
                string srcMachine   = lblSrcCopyMachine.Text;
                string srcSignature = lblSrcCopySignature.Text;
                string srcParameter = lblSrcCopyParameter.Text;
                srcParameter = "'" + srcParameter + "'";

                string destiMachine   = ddlDestiCopyMachine.SelectedValue;
                string destiSignature = txtDestiCopySignature.Text;
                string destiParameter = ddlDestiCopyParameter.SelectedValue;


                //get source data details
                //BsonArray parameters = new BsonArray();
                //parameters.Add(srcParameter);
                //var filter = "{'CompanyID':'" + srcCompany + "','PlantID':'" + srcPlant + "',MachineID: '" + srcMachine + "',SignatureID: '" + srcSignature + "',ParameterID: '" + srcParameter + "'}";
                List <SignatureComparisionDetails> sourceDetails = new List <SignatureComparisionDetails>();
                // sourceDetails = _MongoDatabase.GetCollection<SignatureComparisionDetails>("PP_AMGIOT_SignatureMaster").Find(filter).ToList();
                sourceDetails = MongoDBAccess.getSignatureComparisonMasterData(srcCompany, srcPlant, srcMachine, srcParameter, srcSignature);


                List <SignatureComparisionDetails> masterList = new List <SignatureComparisionDetails>();
                for (int i = 0; i < sourceDetails.Count; i++)
                {
                    SignatureComparisionDetails master = new SignatureComparisionDetails();
                    master.CompanyID      = srcCompany;
                    master.PlantID        = srcPlant;
                    master.MachineID      = destiMachine;
                    master.ParameterID    = destiParameter;
                    master.SignatureID    = destiSignature;
                    master.Frequency      = sourceDetails[i].Frequency;
                    master.ParameterValue = sourceDetails[i].ParameterValue;
                    masterList.Add(master);
                }
                MongoDBAccess.insertSignatureComparisonMasterData(masterList);
                BindSignatureDetails();

                //get dsetination detail from db for validation.
                //BsonArray destiparameters = new BsonArray();
                //destiparameters.Add(destiParameter);
                //var destifilter = "{MachineID: '" + destiMachine + "',SignatureID: '" + destiSignature + "',Parameter: '" + destiParameter + "'}";
                //List<SignatureComparisionDetails> destiDetails = new List<SignatureComparisionDetails>();
                //destiDetails = _MongoDatabase.GetCollection<SignatureComparisionDetails>("SignatureComparisionMaster").Find(destifilter).ToList();

                //List<SignatureComparisionDetails> existingDataList = new List<SignatureComparisionDetails>();
                //var collection = _MongoDatabase.GetCollection<SignatureComparisionDetails>("SignatureComparisionMaster");
                //if (destiDetails.Count > 0)
                //{
                //    foreach (SignatureComparisionDetails item in sourceDetails)
                //    {
                //        //check new machine and parameter contain entered signature id

                //    }
                //}
                //else
                //{

                //}
            }
            catch (Exception ex)
            { }
        }
Beispiel #26
0
 public ListRepository(MongoDBAccess db)
 {
     db_ = db;
 }
 private bool isSignatureDetailsExist(string company, string plant, string machine, string parameter, string signature)
 {
     return(MongoDBAccess.isSignatureIdDetailsExists(company, plant, machine, parameter, signature));
 }
        protected void btnImport_Click(object sender, EventArgs e)
        {
            try
            {
                int       success  = 0;
                string    APP_PATH = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
                DataTable dtMaster = new DataTable();
                if (fpFile.HasFile)
                {
                    string fileName = fpFile.FileName;
                    if (Path.GetExtension(fileName) != ".xlsx" && Path.GetExtension(fileName) != ".xls")
                    {
                        ScriptManager.RegisterStartupScript(this, GetType(), "RecordsTextopenModaladded", "openWarningModal('Please choose the valid .xlsx or .xls file');", true);
                        return;
                    }
                    else
                    {
                        if (!Directory.Exists(Server.MapPath("ImportedFiles")))
                        {
                            Directory.CreateDirectory(Server.MapPath("ImportedFiles"));
                        }
                        string savedFileName = Server.MapPath("ImportedFiles//" + fileName);
                        fpFile.SaveAs(savedFileName);
                        string Errormsg = "";
                        dtMaster = GetDataTableFromFile(savedFileName);

                        var distinctValues = dtMaster.AsEnumerable()
                                             .Select(row => new {
                            CompanyID   = row.Field <string>("CompanyID"),
                            PlantID     = row.Field <string>("PlantID"),
                            MachineID   = row.Field <string>("MachineID"),
                            ParameterID = row.Field <string>("ParameterID"),
                            SignatureID = row.Field <string>("SignatureID")
                        }).Distinct();
                        List <SignatureComparisionData> existingSeqList = new List <SignatureComparisionData>();
                        foreach (var item in distinctValues)
                        {
                            //if data exist store it in another list
                            if (isSignatureDetailsExist(item.CompanyID, item.PlantID, item.MachineID, item.ParameterID, item.SignatureID))
                            {
                                SignatureComparisionData existingSeqdata = new SignatureComparisionData();
                                existingSeqdata.Company     = item.CompanyID;
                                existingSeqdata.Plant       = item.PlantID;
                                existingSeqdata.MachineID   = item.MachineID;
                                existingSeqdata.ParameterID = item.ParameterID;
                                existingSeqdata.SignatureID = item.SignatureID;
                                List <SignatureComparisionDetails> seqList = new List <SignatureComparisionDetails>();
                                var paramSignatureList = dtMaster.AsEnumerable().Where(myRow => myRow.Field <string>("ParameterID") == item.ParameterID && myRow.Field <string>("SignatureID") == item.SignatureID);
                                foreach (var data in paramSignatureList)
                                {
                                    SignatureComparisionDetails seqData = new SignatureComparisionDetails();
                                    seqData.SignatureID    = data.ItemArray[4].ToString();
                                    seqData.Frequency      = data.ItemArray[5].ToString();
                                    seqData.ParameterValue = data.ItemArray[6].ToString();
                                    seqList.Add(seqData);
                                }
                                existingSeqdata.SignatureData = seqList;
                                existingSeqList.Add(existingSeqdata);
                            }
                            else
                            {
                                List <SignatureComparisionDetails> masterList = new List <SignatureComparisionDetails>();
                                var paramSignatureList = dtMaster.AsEnumerable().Where(myRow => myRow.Field <string>("ParameterID") == item.ParameterID && myRow.Field <string>("SignatureID") == item.SignatureID);
                                foreach (var data in paramSignatureList)
                                {
                                    SignatureComparisionDetails seqData = new SignatureComparisionDetails();
                                    seqData.CompanyID      = data.ItemArray[0].ToString();
                                    seqData.PlantID        = data.ItemArray[1].ToString();
                                    seqData.MachineID      = data.ItemArray[2].ToString();
                                    seqData.ParameterID    = data.ItemArray[3].ToString();
                                    seqData.SignatureID    = data.ItemArray[4].ToString();
                                    seqData.Frequency      = data.ItemArray[5].ToString();
                                    seqData.ParameterValue = data.ItemArray[6].ToString();
                                    masterList.Add(seqData);
                                }
                                MongoDBAccess.insertSignatureComparisonMasterData(masterList);
                            }
                        }
                        if (existingSeqList.Count > 0)
                        {
                            Session["SignatureExistingData"] = existingSeqList;
                            ScriptManager.RegisterStartupScript(this, GetType(), "openModal", "openExistingSignatureDataModal();", true);
                            btnOverwrite.Enabled           = true;
                            btnChangeSave.Visible          = false;
                            btnChange.Visible              = true;
                            btnChangeCancel.Visible        = false;
                            lvExistingSignature.DataSource = existingSeqList;
                            lvExistingSignature.DataBind();
                        }
                        else
                        {
                            Session["SignatureExistingData"] = null;
                        }
                    }
                    BindSignatureDetails();
                    //if (success <= 0)
                    //{
                    //    ScriptManager.RegisterStartupScript(this, GetType(), "RecordsTextopenModaladded", "openErrorModal('Excel file import failed.');", true);
                    //    return;
                    //}
                    //if (success > 0)
                    //{
                    //    gvPMMaster.EditIndex = -1;
                    //    bindPMMasterDetails();
                    //}
                }
                else
                {
                    ScriptManager.RegisterStartupScript(this, GetType(), "RecordsTextopenModaladded", "openErrorModal('Please choose a file to import.');", true);
                }
            }
            catch (Exception ex)
            {
            }
        }
Beispiel #29
0
        private void UpsertReviewPageSet(ReviewPage reviewPage, List <Review> reviews)
        {
            SetUpMongoConnection();
            var policy = Policy.Handle <Exception>().Retry(3);

            var reviewPageFilter = Builders <BsonDocument> .Filter.Eq("Id", reviewPage.Id);

            var reviewPageCollection = MongoDBAccess.GetCollection(
                MONGO_COLLECTION_REVIEWPAGE, MONGO_DATABASE);
            var reviewBsonDocument = reviewPageCollection.
                                     Find(reviewPageFilter).Limit(1).FirstOrDefault();

            policy.Execute(
                () => reviewPageCollection.ReplaceOne(reviewPageFilter,
                                                      new BsonDocument
            {
                { "SourceName", (!String.IsNullOrEmpty(reviewPage.SourceName))?reviewPage.SourceName:string.Empty },
                { "CallMethod", (!String.IsNullOrEmpty(reviewPage.CallMethod))?reviewPage.CallMethod:string.Empty },
                { "AccountId", (!String.IsNullOrEmpty(reviewPage.AccountId))?reviewPage.AccountId:string.Empty },
                { "LocationId", (!String.IsNullOrEmpty(reviewPage.LocationId))?reviewPage.LocationId:string.Empty },
                { "ExternalId", (!String.IsNullOrEmpty(reviewPage.ExternalId))?reviewPage.ExternalId:string.Empty },
                { "Metadata", ObjectToBsonDocument(reviewPage.Metadata) },
                { "Created", (reviewBsonDocument != null) ?
                  reviewBsonDocument.GetValue("Created", null).ToUniversalTime() :
                  DateTime.Now.ToUniversalTime() },
                { "Updated", DateTime.Now.ToUniversalTime() },
                { "Id", reviewPage.Id }
            },
                                                      new UpdateOptions {
                IsUpsert = true
            }));

            var reviewWriteModel = new List <WriteModel <BsonDocument> >();
            var reviewCollection = MongoDBAccess.GetCollection(
                MONGO_COLLECTION_REVIEW, MONGO_DATABASE);
            var commentWriteModel = new List <WriteModel <BsonDocument> >();
            var commentCollection = MongoDBAccess.GetCollection(
                MONGO_COLLECTION_COMMENT, MONGO_DATABASE);

            reviewWriteModel.Add(new DeleteManyModel <BsonDocument>(
                                     Builders <BsonDocument> .Filter.Eq("ReviewPageId", reviewPage.Id)));

            foreach (Review review in reviews)
            {
                BsonDocument reviewBson = new BsonDocument();
                this.AddBsonDocument("Id", review.Id, reviewBson);
                this.AddBsonDocument("ParsedId", review.ParsedId, reviewBson);
                this.AddBsonDocument("ReviewPageId", review.ReviewPageId, reviewBson);
                this.AddBsonDocument("Author", ObjectToBsonDocument(review.Author), reviewBson);
                this.AddBsonDocument("Rating", review.Rating, reviewBson);
                this.AddBsonDocument("Content", review.Content, reviewBson);
                this.AddBsonDocument("Created", review.Created, reviewBson);
                this.AddBsonDocument("Updated", review.Updated, reviewBson);

                this.AddBsonDocument("Children", IEnumerableToBsonArray(review.Children), reviewBson);
                this.AddBsonDocument("Metadata", ObjectToBsonDocument(review.Metadata), reviewBson);
                this.AddBsonDocument("Response", ObjectToBsonDocument(review.Response), reviewBson);


                reviewWriteModel.Add(new InsertOneModel <BsonDocument>(
                                         reviewBson));



                commentWriteModel.Add(new DeleteManyModel <BsonDocument>(
                                          Builders <BsonDocument> .Filter.Eq("ReviewId", review.Id)));
                if (review.Comments != null)
                {
                    foreach (Comment comment in review.Comments)
                    {
                        commentWriteModel.Add(new InsertOneModel <BsonDocument>(
                                                  new BsonDocument
                        {
                            { "Id", comment.Id },
                            { "ReviewId", comment.ReviewId },
                            { "Author", ObjectToBsonDocument(comment.Author) },
                            { "Content", comment.Content },
                            { "Created", comment.Created },
                            { "Replies", IEnumerableToBsonArray(comment.Replies) }
                        }));
                    }
                }
            }
            if (reviewWriteModel.Count > 0)
            {
                policy.Execute(
                    () => reviewCollection.BulkWrite(reviewWriteModel,
                                                     new BulkWriteOptions {
                    IsOrdered = false
                }));
            }

            if (commentWriteModel.Count > 0)
            {
                policy.Execute(
                    () => commentCollection.BulkWrite(commentWriteModel,
                                                      new BulkWriteOptions {
                    IsOrdered = true
                }));
            }
        }
Beispiel #30
0
 public UserRepository(MongoDBAccess db_)
 {
     db = db_;
 }