protected void btnAddComment_Click(object sender, EventArgs e) { try { Label lblRecordId = (Label)fvReport.FindControl("lblRecordId"); int recordId; Int32.TryParse(lblRecordId.Text, out recordId); RadTextBox txtNewComment = (RadTextBox)fvReport.FindControl("txtNewComment"); Repeater rptrComments = (Repeater)fvReport.FindControl("rptrComments"); UserLogic newLogic = new UserLogic(); System.Security.Principal.IPrincipal user = System.Web.HttpContext.Current.User; SystemUsers currentUser = newLogic.GetCurrentUser(user); using (var ctx = new FormContext()) { var thisForm = ctx.MustIncludeForms.FirstOrDefault(eof => eof.RecordId == recordId); Comments newComment = new Comments { Form = ctx.TForms.FirstOrDefault(x => x.FormName == "Must Include"), Note = txtNewComment.Text, RelatedFormId = thisForm.RecordId, SystemComment = false, Timestamp = DateTime.Now, User = ctx.SystemUsers.FirstOrDefault(x => x.SystemUserID == currentUser.SystemUserID) }; ctx.Comments.Add(newComment); ctx.SaveChanges(); txtNewComment.Text = ""; txtNewComment.Invalid = false; rptrComments.DataBind(); } } catch (Exception ex) { throw; } }
protected void fvReport_ItemUpdating(object sender, FormViewUpdateEventArgs e) { if (IsValid) { int id = Convert.ToInt32(((Label)fvReport.FindControl("lblRecordId")).Text); Tingle_WebForms.Models.MustIncludeForm myForm = ctx.MustIncludeForms.FirstOrDefault(eof => eof.RecordId == id); RadDropDownList ddlCompanyEdit = (RadDropDownList)fvReport.FindControl("ddlCompanyEdit"); TextBox txtPO = (TextBox)fvReport.FindControl("txtPOEdit"); TextBox txtArmstrongReference = (TextBox)fvReport.FindControl("txtArmstrongReferenceEdit"); TextBox txtPattern = (TextBox)fvReport.FindControl("txtPatternEdit"); TextBox txtLine = (TextBox)fvReport.FindControl("txtLineEdit"); TextBox txtOrderNumber = (TextBox)fvReport.FindControl("txtOrderNumberEdit"); TextBox txtCustomer = (TextBox)fvReport.FindControl("txtCustomerEdit"); RadDropDownList ddlWarehouse = (RadDropDownList)fvReport.FindControl("ddlWarehouseEdit"); HtmlInputText txtDueByDate = (HtmlInputText)fvReport.FindControl("txtDueByDateEdit"); RadDropDownList ddlStatus = (RadDropDownList)fvReport.FindControl("ddlStatusEdit"); int statusId = Convert.ToInt32(ddlStatus.SelectedValue); RadComboBox ddlRequestedByEdit = (RadComboBox)fvReport.FindControl("ddlRequestedByEdit"); int requestedById = Convert.ToInt32(ddlRequestedByEdit.SelectedValue); RadComboBox ddlAssignedToEdit = (RadComboBox)fvReport.FindControl("ddlAssignedToEdit"); int assignedToId = 0; if (ddlAssignedToEdit.SelectedIndex != -1) { assignedToId = Convert.ToInt32(ddlAssignedToEdit.SelectedValue); } RadDropDownList ddlPriorityEdit = (RadDropDownList)fvReport.FindControl("ddlPriorityEdit"); int priorityId = Convert.ToInt32(ddlPriorityEdit.SelectedValue); CheckBox cbSendComments = (CheckBox)fvReport.FindControl("cbSendComments"); CheckBox cbShowSystemComments = (CheckBox)fvReport.FindControl("cbShowSystemComments"); CheckBox cbNotifyStandard = (CheckBox)fvReport.FindControl("cbNotifyStandard"); CheckBox cbNotifyAssignee = (CheckBox)fvReport.FindControl("cbNotifyAssignee"); CheckBox cbNotifyOther = (CheckBox)fvReport.FindControl("cbNotifyOther"); CheckBox cbNotifyRequester = (CheckBox)fvReport.FindControl("cbNotifyRequester"); RadComboBox ddlNotifyOther = (RadComboBox)fvReport.FindControl("ddlNotifyOther"); Label lblEmailsSentTo = (Label)fvReport.FindControl("lblEmailsSentTo"); Label lblFVMessage = (Label)fvReport.FindControl("lblFVMessage"); DateTime tryDateDue; Nullable<DateTime> dateDue = null; try { if (myForm.RequestedUser.SystemUserID.ToString() != ddlRequestedByEdit.SelectedValue) { Comments newRequesterComment = new Comments { Form = ctx.TForms.FirstOrDefault(x => x.FormName == "Must Include"), Note = "Requester Changed To: " + ctx.SystemUsers.FirstOrDefault(x => x.SystemUserID == requestedById).DisplayName, RelatedFormId = myForm.RecordId, SystemComment = true, Timestamp = DateTime.Now }; ctx.Comments.Add(newRequesterComment); } if (myForm.AssignedUser == null && ddlAssignedToEdit.SelectedIndex != -1) // (myForm.AssignedUser != null && ddlAssignedToEdit.SelectedIndex != -1 && Convert.ToString(myForm.AssignedUser.SystemUserID) != ddlAssignedToEdit.SelectedValue)) { Comments newAssignedComment = new Comments { Form = ctx.TForms.FirstOrDefault(x => x.FormName == "Must Include"), Note = "Request Assigned To: " + ctx.SystemUsers.FirstOrDefault(x => x.SystemUserID == assignedToId).DisplayName, RelatedFormId = myForm.RecordId, SystemComment = true, Timestamp = DateTime.Now }; ctx.Comments.Add(newAssignedComment); } else if (myForm.AssignedUser != null && ddlAssignedToEdit.SelectedIndex != -1) { if (myForm.AssignedUser.SystemUserID.ToString() != ddlAssignedToEdit.SelectedValue) { Comments newAssignedComment = new Comments { Form = ctx.TForms.FirstOrDefault(x => x.FormName == "Must Include"), Note = "Request Assignee Changed To: " + ctx.SystemUsers.FirstOrDefault(x => x.SystemUserID == assignedToId).DisplayName, RelatedFormId = myForm.RecordId, SystemComment = true, Timestamp = DateTime.Now }; ctx.Comments.Add(newAssignedComment); } } else if (myForm.AssignedUser != null && ddlAssignedToEdit.SelectedIndex == -1) { Comments newAssignedComment = new Comments { Form = ctx.TForms.FirstOrDefault(x => x.FormName == "Must Include"), Note = "Request Assignment Removed From: " + ctx.SystemUsers.FirstOrDefault(x => x.SystemUserID == myForm.AssignedUser.SystemUserID).DisplayName, RelatedFormId = myForm.RecordId, SystemComment = true, Timestamp = DateTime.Now }; ctx.Comments.Add(newAssignedComment); } if (txtDueByDate.Value != null) { DateTime.TryParse(txtDueByDate.Value.ToString(), out tryDateDue); if (tryDateDue.Year > 0001) { dateDue = tryDateDue; } } var statusCode = ctx.Statuses.FirstOrDefault(s => s.StatusId == statusId); myForm.Company = ddlCompanyEdit.SelectedValue; myForm.PO = txtPO.Text; myForm.ArmstrongReference = txtArmstrongReference.Text; myForm.Pattern = txtPattern.Text; myForm.Line = txtLine.Text; myForm.OrderNumber = txtOrderNumber.Text; myForm.Customer = txtCustomer.Text; myForm.Warehouse = ctx.Warehouses.FirstOrDefault(x => x.WarehouseText == ddlWarehouse.SelectedText); myForm.Status = statusCode; myForm.RequestedUser = ctx.SystemUsers.FirstOrDefault(x => x.SystemUserID == requestedById); myForm.Priority = ctx.Priorities.FirstOrDefault(x => x.RecordId == priorityId); myForm.DueDate = dateDue; if (ddlAssignedToEdit.SelectedIndex != -1) { myForm.AssignedUser = ctx.SystemUsers.FirstOrDefault(x => x.SystemUserID == assignedToId); } else { myForm.AssignedUser = null; } myForm.LastModifiedTimestamp = DateTime.Now; UserLogic newLogic = new UserLogic(); System.Security.Principal.IPrincipal user = System.Web.HttpContext.Current.User; SystemUsers currentUser = newLogic.GetCurrentUser(user); myForm.LastModifiedUser = ctx.SystemUsers.FirstOrDefault(x => x.SystemUserID == currentUser.SystemUserID); ctx.MustIncludeForms.Attach(myForm); ctx.Entry(myForm).State = EntityState.Modified; ctx.SaveChanges(); if (myForm.AssignedUser != null && !newLogic.HasBeenAssigned(myForm.AssignedUser, myForm.RecordId, "Must Include")) { UserAssignmentAssociation uA = new UserAssignmentAssociation { Form = ctx.TForms.FirstOrDefault(x => x.FormName == "Must Include"), RelatedFormId = myForm.RecordId, User = myForm.AssignedUser }; ctx.UserAssignments.Add(uA); } if (myForm.RequestedUser != null && !newLogic.HasBeenRequested(myForm.RequestedUser, myForm.RecordId, "Must Include")) { UserRequestAssociation uR = new UserRequestAssociation { Form = ctx.TForms.FirstOrDefault(x => x.FormName == "Must Include"), RelatedFormId = myForm.RecordId, User = myForm.RequestedUser }; ctx.UserRequests.Add(uR); } ctx.SaveChanges(); if (myForm.Status.StatusText == "Completed") { Comments updateComment = new Comments { Form = ctx.TForms.FirstOrDefault(x => x.FormName == "Must Include"), Note = "Request Completed By: " + currentUser.DisplayName, RelatedFormId = myForm.RecordId, SystemComment = true, Timestamp = DateTime.Now }; ctx.Comments.Add(updateComment); } else { Comments updateComment = new Comments { Form = ctx.TForms.FirstOrDefault(x => x.FormName == "Must Include"), Note = "Request Updated By: " + currentUser.DisplayName + " --- Status: " + myForm.Status.StatusText + " --- Priority: " + myForm.Priority.PriorityText, RelatedFormId = myForm.RecordId, SystemComment = true, Timestamp = DateTime.Now }; ctx.Comments.Add(updateComment); } if (lblEmailsSentTo.Text != "") { SendUpdateEmail(myForm.RecordId, lblEmailsSentTo.Text, cbSendComments.Checked, cbShowSystemComments.Checked); Comments notificationComment = new Comments { Form = ctx.TForms.FirstOrDefault(x => x.FormName == "Must Include"), Note = "Request Notifications Sent To: " + lblEmailsSentTo.Text, RelatedFormId = myForm.RecordId, SystemComment = true, Timestamp = DateTime.Now }; ctx.Comments.Add(notificationComment); } ctx.SaveChanges(); cbNotifyAssignee.Checked = false; cbNotifyOther.Checked = false; cbNotifyRequester.Checked = false; cbNotifyStandard.Checked = false; cbSendComments.Checked = false; ddlNotifyOther.Text = ""; gvReport.DataBind(); gvReport.SelectedIndex = -1; pnlDetails.Visible = false; pnlReport.Visible = true; pnlFilter.Visible = true; } catch (Exception ex) { throw; } } }
protected void btnSubmit_Click(object sender, EventArgs e) { try { if (Page.IsValid) { Int32 formId; int statusId; DateTime tryDueDate; Nullable<DateTime> dueDate = null; string emailListString = lblEmailsSentTo.Text.Replace(" ", ""); List<string> emailList = emailListString.Split(',').ToList<string>(); System.Security.Principal.IPrincipal user = System.Web.HttpContext.Current.User; UserLogic uLogic = new UserLogic(); SystemUsers currentUser = uLogic.GetCurrentUser(user); statusId = Convert.ToInt32(ddlStatus.SelectedValue); if (txtDueByDate.Value != "") { DateTime.TryParse(txtDueByDate.Value, out tryDueDate); if (tryDueDate.Year > 0001) { dueDate = tryDueDate; } } else { dueDate = null; } using (FormContext ctx = new FormContext()) { var status = ctx.Statuses.Where(s => s.StatusId.Equals(statusId)).FirstOrDefault(); Int32 requestedUserId = Convert.ToInt32(ddlRequestedBy.SelectedValue); var requestedUser = ctx.SystemUsers.FirstOrDefault(x => x.SystemUserID == requestedUserId); var modifiedUser = ctx.SystemUsers.FirstOrDefault(x => x.SystemUserID == currentUser.SystemUserID); Models.LowInventoryForm newForm = new Models.LowInventoryForm { Timestamp = DateTime.Now, Company = ddlCompany.SelectedValue, OrderNumber = txtOrderNumber.Text, Plant = ctx.Plants.FirstOrDefault(x => x.PlantText == ddlPlants.SelectedText), Line = txtLine.Text, Quantity = txtQuantity.Text, SKU = txtSKU.Text, Status = ctx.Statuses.FirstOrDefault(s => s.StatusText == ddlStatus.SelectedItem.Text), RequestedUser = requestedUser, LastModifiedUser = modifiedUser, SubmittedUser = ctx.SystemUsers.FirstOrDefault(x => x.SystemUserID == currentUser.SystemUserID), DueDate = dueDate, Priority = ctx.Priorities.FirstOrDefault(x => x.PriorityText == ddlPriority.SelectedText), LastModifiedTimestamp = DateTime.Now }; if (ddlAssignedTo.SelectedIndex != -1) { Int32 assignedUserId = Convert.ToInt32(ddlAssignedTo.SelectedValue); newForm.AssignedUser = ctx.SystemUsers.FirstOrDefault(x => x.SystemUserID == assignedUserId); } ctx.LowInventoryForms.Add(newForm); ctx.SaveChanges(); if (newForm.AssignedUser != null) { Int32 assignedUserId = Convert.ToInt32(ddlAssignedTo.SelectedValue); UserAssignmentAssociation uA = new UserAssignmentAssociation { Form = ctx.TForms.FirstOrDefault(x => x.FormName == "Low Inventory"), RelatedFormId = newForm.RecordId, User = ctx.SystemUsers.FirstOrDefault(x => x.SystemUserID == assignedUserId) }; ctx.UserAssignments.Add(uA); } if (newForm.RequestedUser != null) { UserRequestAssociation uR = new UserRequestAssociation { Form = ctx.TForms.FirstOrDefault(x => x.FormName == "Low Inventory"), RelatedFormId = newForm.RecordId, User = requestedUser }; ctx.UserRequests.Add(uR); } ctx.SaveChanges(); formId = newForm.RecordId; Comments systemComment = new Comments { Form = ctx.TForms.FirstOrDefault(x => x.FormName == "Low Inventory"), Note = "Request Created By: " + currentUser.DisplayName, RelatedFormId = formId, SystemComment = true, Timestamp = DateTime.Now }; ctx.Comments.Add(systemComment); Comments systemComment2 = new Comments { Form = ctx.TForms.FirstOrDefault(x => x.FormName == "Low Inventory"), Note = "Requested By: " + requestedUser.DisplayName, RelatedFormId = formId, SystemComment = true, Timestamp = DateTime.Now }; ctx.Comments.Add(systemComment2); if (ddlAssignedTo.SelectedIndex != -1) { Comments systemComment3 = new Comments { Form = ctx.TForms.FirstOrDefault(x => x.FormName == "Low Inventory"), Note = "Request Assigned To: " + requestedUser.DisplayName, RelatedFormId = formId, SystemComment = true, Timestamp = DateTime.Now }; ctx.Comments.Add(systemComment3); } if (txtComments.Text != "") { Comments firstComment = new Comments { Form = ctx.TForms.FirstOrDefault(x => x.FormName == "Low Inventory"), Note = txtComments.Text, RelatedFormId = formId, SystemComment = false, Timestamp = DateTime.Now, User = ctx.SystemUsers.FirstOrDefault(x => x.SystemUserID == currentUser.SystemUserID), }; ctx.Comments.Add(firstComment); ctx.SaveChanges(); } if (lblEmailsSentTo.Text != "") { Comments notifyComment = new Comments { Form = ctx.TForms.FirstOrDefault(x => x.FormName == "Low Inventory"), Note = "Request Notifications Sent To: " + lblEmailsSentTo.Text, RelatedFormId = formId, SystemComment = true, Timestamp = DateTime.Now }; ctx.Comments.Add(notifyComment); ctx.SaveChanges(); TForm submittedForm = ctx.TForms.FirstOrDefault(tf => tf.FormName == "Low Inventory"); SendEmail msg = new SendEmail(); StringBuilder bodyHtml = new StringBuilder(); bodyHtml.AppendLine("<div style=\"width:50%; text-align:center;\"><img src=\"http://www.wctingle.com/img/Logo.jpg\" /><br /><br />") .Append("A new Low Inventory Request has been submitted.<br /><br />") .AppendLine("<table style=\"border: 4px solid #d0604c;background-color:#FFF;width:100%;margin-lefT:auto; margin-right:auto;\">") .AppendLine(" <tr>") .AppendLine(" <td colspan=\"4\" style=\"text-align: center;vertical-align: middle;font-weight: bold;font-size: 20px;border: 4px solid #d0604c; color:#FFF; background-color:#bc4445;\">Low Inventory Request</td>") .AppendLine(" </tr>") .AppendLine(" <tr>") .AppendLine(" <td style=\"text-align:right;font-size:16px;font-weight:bold;width:25%;color:#bc4445;\">Company:</td>") .Append(" <td style=\"text-align:left;font-size:16px;font-weight:bold;width:25%;color:#000;\">").Append(ddlCompany.SelectedText).AppendLine("</td>") .AppendLine(" <td style=\"text-align:right;font-size:16px;font-weight:bold;width:25%; color:#bc4445\"></td>") .AppendLine(" <td style=\"text-align:left;font-size:16px;font-weight:bold;width:25%;color:#000\"></td>") .AppendLine(" </tr>") .AppendLine(" <tr>") .AppendLine(" <td style=\"text-align:right;font-size:16px;font-weight:bold;width:25%;color:#bc4445;\">Order #:</td>") .Append(" <td style=\"text-align:left;font-size:16px;font-weight:bold;width:25%;color:#000;\">").Append(txtOrderNumber.Text).AppendLine("</td>") .AppendLine(" <td style=\"text-align:right;font-size:16px;font-weight:bold;width:25%;color:#bc4445;\">Plant:</td>") .Append(" <td style=\"text-align:left;font-size:16px;font-weight:bold;width:25%;color:#000;\">").Append(ddlPlants.SelectedText).AppendLine("</td>") .AppendLine(" </tr>") .AppendLine(" <tr>") .AppendLine(" <td style=\"text-align:right;font-size:16px;font-weight:bold;width:25%;color:#bc4445;\">Line:</td>") .Append(" <td style=\"text-align:left;font-size:16px;font-weight:bold;width:25%;color:#000;\">").Append(txtLine.Text).AppendLine("</td>") .AppendLine(" <td style=\"text-align:right;font-size:16px;font-weight:bold;width:25%;color:#bc4445;\">Quantity:</td>") .Append(" <td style=\"text-align:left;font-size:16px;font-weight:bold;width:25%;color:#000;\">").Append(txtQuantity.Text).AppendLine("</td>") .AppendLine(" </tr>") .AppendLine(" <tr>") .AppendLine(" <td style=\"text-align:right;font-size:16px;font-weight:bold;width:25%;color:#bc4445;\">SKU:</td>") .Append(" <td style=\"text-align:left;font-size:16px;font-weight:bold;width:25%;color:#000;\">").Append(txtSKU.Text).AppendLine("</td>") .AppendLine(" <td style=\"text-align:right;font-size:16px;font-weight:bold;width:25%;color:#bc4445;\"></td>") .Append(" <td style=\"text-align:left;font-size:16px;font-weight:bold;width:25%;color:#000;\"></td>") .AppendLine(" </tr>") .AppendLine(" <tr>") .AppendLine(" <td style=\"width:100%;\" colspan=\"4\">") .AppendLine(" <table style=\"border:none; width:100%\">") .AppendLine(" <tr>") .AppendLine(" <td colspan=\"4\">") .AppendLine(" <span style=\"font-weight:bold; color:#bc4445; text-decoration:underline\">Assignment and Request Details:</span>") .AppendLine(" </td>") .AppendLine(" </tr>") .AppendLine(" <tr>") .AppendLine(" <td style=\"width:20%; text-align:right\"><span class=\"formRedText\">Requested By:</span></td>") .Append(" <td style=\"width:25%; text-align:left\">").AppendLine(ddlRequestedBy.SelectedItem.Text) .AppendLine(" </td>") .AppendLine(" <td style=\"width:20%; text-align:right\"><span class=\"formRedText\">Assigned To:</span></td>") .Append(" <td style=\"width:25%; text-align:left\">"); if (ddlAssignedTo.SelectedIndex != -1) { bodyHtml.AppendLine(ddlAssignedTo.SelectedItem.Text); } else { bodyHtml.AppendLine("N/A"); } bodyHtml.AppendLine(" </td>") .AppendLine(" </tr>") .AppendLine(" <tr>") .AppendLine(" <td style=\"width:18%; text-align:right\"><span class=\"formRedText\">Date Created:</span></td>") .AppendLine(" <td style=\"width:18%; text-align:left\">") .AppendLine(DateTime.Now.ToShortDateString()) .AppendLine(" </td>") .AppendLine(" <td style=\"width:18%; text-align:right\"><span class=\"formRedText\">Due By:</span></td>") .Append(" <td style=\"width:18%; text-align:left\">").Append(txtDueByDate.Value).AppendLine("</td>") .AppendLine(" </tr>") .AppendLine(" <tr>") .AppendLine(" <td style=\"width:10%; text-align:right\"><span class=\"formRedText\">Status:</span></td>") .Append(" <td style=\"width:10%; text-align:left\">").AppendLine(ddlStatus.SelectedText) .AppendLine(" </td>") .AppendLine(" <td style=\"width:10%; text-align:right\"><span class=\"formRedText\">Priority:</span></td>") .Append(" <td style=\"width:10%; text-align:left\">").AppendLine(ddlPriority.SelectedText) .AppendLine(" </td>") .AppendLine(" </tr>") .AppendLine(" </table>") .AppendLine(" </td>") .AppendLine(" </tr>") .AppendLine(" <tr>") .Append(" <td style=\"width:100%; text-align:center\" colspan=\"4\">Created By: ").AppendLine(currentUser.DisplayName) .AppendLine(" </td>") .AppendLine(" </tr>") .AppendLine(" <tr>") .Append(" <td style=\"width:100%; text-align:center\" colspan=\"4\"><span style=\"color:#bc4445; font-weight:bold\">Request Notifications Sent To:</span> <br />") .AppendLine(lblEmailsSentTo.Text) .AppendLine(" </td>") .AppendLine(" </tr>") .AppendLine(" <tr>") .AppendLine(" <td style=\"width:100%; text-align:center\" colspan=\"4\"><br /><br /></td>") .AppendLine(" </tr>") .AppendLine("</table><br /><br />"); if (cbSendComments.Checked) { bodyHtml.AppendLine("<div style=\"width:80%; color:#bc4445; margin: 0 auto; text-align:center;\">Comments<br /></div>") .AppendLine("<div style=\"width:80%; background-color:#bc4445; margin: 0 auto; text-align: left; padding:3px; color: white; \">") .Append(txtComments.Text).AppendLine("<br /><br />") .AppendLine("<span style=\"padding-right:15px\">").AppendLine(currentUser.DisplayName).AppendLine("</span>") .AppendLine(DateTime.Now.ToString("MMMM dd, yyyy")) .AppendLine("</div>"); } bodyHtml.AppendLine("</div><br /><br />"); bool result = msg.SendMail("*****@*****.**", emailList, "Low Inventory Request", bodyHtml.ToString(), submittedForm, formId, currentUser); ddlCompany.Enabled = false; txtOrderNumber.Enabled = false; ddlPlants.Enabled = false; txtLine.Enabled = false; txtQuantity.Enabled = false; txtSKU.Enabled = false; ddlRequestedBy.Enabled = false; ddlAssignedTo.Enabled = false; txtDueByDate.Disabled = true; ddlStatus.Enabled = false; ddlPriority.Enabled = false; cbNotifyStandard.Enabled = false; cbNotifyRequester.Enabled = false; cbNotifyOther.Enabled = false; cbNotifyAssignee.Enabled = false; cbSendComments.Enabled = false; txtComments.Enabled = false; string pageUrl = Request.Url.AbsoluteUri.Substring(0, Request.Url.AbsoluteUri.Count() - Request.Url.Query.Count()); Response.Redirect(pageUrl + "?FormAction=add&sendEmail=" + result.ToString()); } else { string pageUrl = Request.Url.AbsoluteUri.Substring(0, Request.Url.AbsoluteUri.Count() - Request.Url.Query.Count()); Response.Redirect(pageUrl + "?FormAction=add&sendEmail=NotRequired"); } } } } catch (Exception ex) { pnlCompleted.Visible = true; pnlForm.Visible = false; lblMessage.Text = "An error occured during submission of this request. <br /><br />It is possible that the form was completed before this error occurred, <br />so please contact your System Administrator before re-submitting."; } }
protected void btnAddComment_Click(object sender, EventArgs e) { try { int recordId; Int32.TryParse(lblRecordId.Text, out recordId); UserLogic newLogic = new UserLogic(); System.Security.Principal.IPrincipal user = System.Web.HttpContext.Current.User; SystemUsers currentUser = newLogic.GetCurrentUser(user); using (var ctx = new FormContext()) { var thisForm = ctx.CannotWaitForContainerForms.FirstOrDefault(eof => eof.RecordId == recordId); Comments newComment = new Comments { Form = ctx.TForms.FirstOrDefault(x => x.FormName == "Cannot Wait For Container"), Note = txtNewComment.Text, RelatedFormId = thisForm.RecordId, SystemComment = false, Timestamp = DateTime.Now, User = ctx.SystemUsers.FirstOrDefault(x => x.SystemUserID == currentUser.SystemUserID) }; ctx.Comments.Add(newComment); ctx.SaveChanges(); txtNewComment.Text = ""; txtNewComment.Invalid = false; rptrComments.DataBind(); Session["NewComment"] = "true"; } } catch (Exception ex) { throw; } }
protected void fvReport_ItemUpdating(object sender, FormViewUpdateEventArgs e) { if (IsValid) { int id = Convert.ToInt32(((Label)fvReport.FindControl("lblRecordId")).Text); Tingle_WebForms.Models.DirectOrderForm myForm = ctx.DirectOrderForms.FirstOrDefault(eof => eof.RecordId == id); RadDropDownList ddlCompanyEdit = (RadDropDownList)fvReport.FindControl("ddlCompanyEdit"); TextBox txtCustomer = (TextBox)fvReport.FindControl("txtCustomerEdit"); RadDropDownList ddlExpediteCode = (RadDropDownList)fvReport.FindControl("ddlExpediteCodeEdit"); int expediteCodeId = Convert.ToInt32(ddlExpediteCode.SelectedValue); TextBox txtContactName = (TextBox)fvReport.FindControl("txtContactNameEdit"); TextBox txtPhoneNumber = (TextBox)fvReport.FindControl("txtPhoneNumberEdit"); TextBox txtMaterialSku = (TextBox)fvReport.FindControl("txtMaterialSkuEdit"); TextBox txtQuantityOrdered = (TextBox)fvReport.FindControl("txtQuantityOrderedEdit"); TextBox txtAccountNumber = (TextBox)fvReport.FindControl("txtAccountNumberEdit"); TextBox txtPurchaseOrderNumber = (TextBox)fvReport.FindControl("txtPurchaseOrderNumberEdit"); TextBox txtOowOrderNumber = (TextBox)fvReport.FindControl("txtOowOrderNumberEdit"); TextBox txtSM = (TextBox)fvReport.FindControl("txtSMEdit"); TextBox txtShipVia = (TextBox)fvReport.FindControl("txtShipViaEdit"); TextBox txtReserve = (TextBox)fvReport.FindControl("txtReserveEdit"); System.Web.UI.HtmlControls.HtmlInputText txtInstallDate = (System.Web.UI.HtmlControls.HtmlInputText)fvReport.FindControl("txtInstallDateEdit"); TextBox txtShipToName = (TextBox)fvReport.FindControl("txtShipToNameEdit"); TextBox txtShipToAddress = (TextBox)fvReport.FindControl("txtShipToAddressEdit"); TextBox txtShipToCity = (TextBox)fvReport.FindControl("txtShipToCityEdit"); TextBox txtShipToState = (TextBox)fvReport.FindControl("txtShipToStateEdit"); TextBox txtShipToZip = (TextBox)fvReport.FindControl("txtShipToZipEdit"); TextBox txtShipToPhone = (TextBox)fvReport.FindControl("txtShipToPhoneEdit"); HtmlInputText txtDueByDate = (HtmlInputText)fvReport.FindControl("txtDueByDateEdit"); RadDropDownList ddlStatus = (RadDropDownList)fvReport.FindControl("ddlStatusEdit"); int statusId = Convert.ToInt32(ddlStatus.SelectedValue); RadComboBox ddlRequestedByEdit = (RadComboBox)fvReport.FindControl("ddlRequestedByEdit"); int requestedById = Convert.ToInt32(ddlRequestedByEdit.SelectedValue); RadComboBox ddlAssignedToEdit = (RadComboBox)fvReport.FindControl("ddlAssignedToEdit"); int assignedToId = 0; if (ddlAssignedToEdit.SelectedIndex != -1) { assignedToId = Convert.ToInt32(ddlAssignedToEdit.SelectedValue); } RadDropDownList ddlPriorityEdit = (RadDropDownList)fvReport.FindControl("ddlPriorityEdit"); int priorityId = Convert.ToInt32(ddlPriorityEdit.SelectedValue); CheckBox cbSendComments = (CheckBox)fvReport.FindControl("cbSendComments"); CheckBox cbShowSystemComments = (CheckBox)fvReport.FindControl("cbShowSystemComments"); CheckBox cbNotifyStandard = (CheckBox)fvReport.FindControl("cbNotifyStandard"); CheckBox cbNotifyAssignee = (CheckBox)fvReport.FindControl("cbNotifyAssignee"); CheckBox cbNotifyOther = (CheckBox)fvReport.FindControl("cbNotifyOther"); CheckBox cbNotifyRequester = (CheckBox)fvReport.FindControl("cbNotifyRequester"); RadComboBox ddlNotifyOther = (RadComboBox)fvReport.FindControl("ddlNotifyOther"); Label lblEmailsSentTo = (Label)fvReport.FindControl("lblEmailsSentTo"); Label lblFVMessage = (Label)fvReport.FindControl("lblFVMessage"); DateTime tryInstallDate; Nullable<DateTime> installDate = null; DateTime tryDateDue; Nullable<DateTime> dateDue = null; try { if (myForm.RequestedUser.SystemUserID.ToString() != ddlRequestedByEdit.SelectedValue) { Comments newRequesterComment = new Comments { Form = ctx.TForms.FirstOrDefault(x => x.FormName == "Direct Order"), Note = "Requester Changed To: " + ctx.SystemUsers.FirstOrDefault(x => x.SystemUserID == requestedById).DisplayName, RelatedFormId = myForm.RecordId, SystemComment = true, Timestamp = DateTime.Now }; ctx.Comments.Add(newRequesterComment); } if (myForm.AssignedUser == null && ddlAssignedToEdit.SelectedIndex != -1) // (myForm.AssignedUser != null && ddlAssignedToEdit.SelectedIndex != -1 && Convert.ToString(myForm.AssignedUser.SystemUserID) != ddlAssignedToEdit.SelectedValue)) { Comments newAssignedComment = new Comments { Form = ctx.TForms.FirstOrDefault(x => x.FormName == "Direct Order"), Note = "Request Assigned To: " + ctx.SystemUsers.FirstOrDefault(x => x.SystemUserID == assignedToId).DisplayName, RelatedFormId = myForm.RecordId, SystemComment = true, Timestamp = DateTime.Now }; ctx.Comments.Add(newAssignedComment); } else if (myForm.AssignedUser != null && ddlAssignedToEdit.SelectedIndex != -1) { if (myForm.AssignedUser.SystemUserID.ToString() != ddlAssignedToEdit.SelectedValue) { Comments newAssignedComment = new Comments { Form = ctx.TForms.FirstOrDefault(x => x.FormName == "Direct Order"), Note = "Request Assignee Changed To: " + ctx.SystemUsers.FirstOrDefault(x => x.SystemUserID == assignedToId).DisplayName, RelatedFormId = myForm.RecordId, SystemComment = true, Timestamp = DateTime.Now }; ctx.Comments.Add(newAssignedComment); } } else if (myForm.AssignedUser != null && ddlAssignedToEdit.SelectedIndex == -1) { Comments newAssignedComment = new Comments { Form = ctx.TForms.FirstOrDefault(x => x.FormName == "Direct Order"), Note = "Request Assignment Removed From: " + ctx.SystemUsers.FirstOrDefault(x => x.SystemUserID == myForm.AssignedUser.SystemUserID).DisplayName, RelatedFormId = myForm.RecordId, SystemComment = true, Timestamp = DateTime.Now }; ctx.Comments.Add(newAssignedComment); } DateTime.TryParse(txtInstallDate.Value, out tryInstallDate); if (tryInstallDate.Year > 0001) { installDate = tryInstallDate; } if (txtDueByDate.Value != null) { DateTime.TryParse(txtDueByDate.Value.ToString(), out tryDateDue); if (tryDateDue.Year > 0001) { dateDue = tryDateDue; } } string accountNumber = txtAccountNumber.Text; int accountNumberLength = txtAccountNumber.Text.Length; while (accountNumberLength < 6) { accountNumber = "0" + accountNumber; accountNumberLength++; } var expediteCode = ctx.ExpediteCodes.FirstOrDefault(ec => ec.ExpediteCodeID == expediteCodeId); var statusCode = ctx.Statuses.FirstOrDefault(s => s.StatusId == statusId); myForm.Company = ddlCompanyEdit.SelectedValue; myForm.Customer = txtCustomer.Text; myForm.ExpediteCode = expediteCode; myForm.ContactName = txtContactName.Text; myForm.PhoneNumber = txtPhoneNumber.Text; myForm.AccountNumber = accountNumber; myForm.PurchaseOrderNumber = txtPurchaseOrderNumber.Text; myForm.OowOrderNumber = txtOowOrderNumber.Text; myForm.SM = txtSM.Text; myForm.ShipVia = txtShipVia.Text; myForm.Reserve = txtReserve.Text; myForm.InstallDate = installDate; myForm.ShipToName = txtShipToName.Text; myForm.ShipToAddress = txtShipToAddress.Text; myForm.ShipToCity = txtShipToCity.Text; myForm.ShipToState = txtShipToState.Text; myForm.ShipToZip = txtShipToZip.Text; myForm.ShipToPhone = txtShipToPhone.Text; myForm.Status = statusCode; myForm.RequestedUser = ctx.SystemUsers.FirstOrDefault(x => x.SystemUserID == requestedById); myForm.Priority = ctx.Priorities.FirstOrDefault(x => x.RecordId == priorityId); myForm.DueDate = dateDue; if (ddlAssignedToEdit.SelectedIndex != -1) { myForm.AssignedUser = ctx.SystemUsers.FirstOrDefault(x => x.SystemUserID == assignedToId); } else { myForm.AssignedUser = null; } myForm.LastModifiedTimestamp = DateTime.Now; UserLogic newLogic = new UserLogic(); System.Security.Principal.IPrincipal user = System.Web.HttpContext.Current.User; SystemUsers currentUser = newLogic.GetCurrentUser(user); myForm.LastModifiedUser = ctx.SystemUsers.FirstOrDefault(x => x.SystemUserID == currentUser.SystemUserID); ctx.SaveChanges(); if (myForm.AssignedUser != null && !newLogic.HasBeenAssigned(myForm.AssignedUser, myForm.RecordId, "Direct Order")) { UserAssignmentAssociation uA = new UserAssignmentAssociation { Form = ctx.TForms.FirstOrDefault(x => x.FormName == "Direct Order"), RelatedFormId = myForm.RecordId, User = myForm.AssignedUser }; ctx.UserAssignments.Add(uA); } if (myForm.RequestedUser != null && !newLogic.HasBeenRequested(myForm.RequestedUser, myForm.RecordId, "Direct Order")) { UserRequestAssociation uR = new UserRequestAssociation { Form = ctx.TForms.FirstOrDefault(x => x.FormName == "Direct Order"), RelatedFormId = myForm.RecordId, User = myForm.RequestedUser }; ctx.UserRequests.Add(uR); } ctx.SaveChanges(); if (myForm.Status.StatusText == "Completed") { Comments updateComment = new Comments { Form = ctx.TForms.FirstOrDefault(x => x.FormName == "Direct Order"), Note = "Request Completed By: " + currentUser.DisplayName, RelatedFormId = myForm.RecordId, SystemComment = true, Timestamp = DateTime.Now }; ctx.Comments.Add(updateComment); } else { Comments updateComment = new Comments { Form = ctx.TForms.FirstOrDefault(x => x.FormName == "Direct Order"), Note = "Request Updated By: " + currentUser.DisplayName + " --- Status: " + myForm.Status.StatusText + " --- Priority: " + myForm.Priority.PriorityText, RelatedFormId = myForm.RecordId, SystemComment = true, Timestamp = DateTime.Now }; ctx.Comments.Add(updateComment); } if (lblEmailsSentTo.Text != "") { SendUpdateEmail(myForm.RecordId, lblEmailsSentTo.Text, cbSendComments.Checked, cbShowSystemComments.Checked); Comments notificationComment = new Comments { Form = ctx.TForms.FirstOrDefault(x => x.FormName == "Direct Order"), Note = "Request Notifications Sent To: " + lblEmailsSentTo.Text, RelatedFormId = myForm.RecordId, SystemComment = true, Timestamp = DateTime.Now }; ctx.Comments.Add(notificationComment); } ctx.SaveChanges(); cbNotifyAssignee.Checked = false; cbNotifyOther.Checked = false; cbNotifyRequester.Checked = false; cbNotifyStandard.Checked = false; cbSendComments.Checked = false; ddlNotifyOther.Text = ""; gvReport.DataBind(); gvReport.SelectedIndex = -1; pnlDetails.Visible = false; pnlReport.Visible = true; pnlFilter.Visible = true; ddlExpediteCode.DataBind(); } catch (Exception ex) { throw; } } }
protected void gvReport_UpdateCommand(object sender, GridCommandEventArgs e) { if (IsValid) { GridEditableItem editedItem = e.Item as GridEditableItem; UserControl userControl = (UserControl)e.Item.FindControl(GridEditFormItem.EditFormUserControlID); int id = Convert.ToInt32(((HiddenField)userControl.FindControl("hRecordId")).Value); Tingle_WebForms.Models.OrderCancellationForm myForm = ctx.OrderCancellationForms.FirstOrDefault(eof => eof.RecordId == id); RadDropDownList ddlCompanyEdit = (RadDropDownList)userControl.FindControl("ddlCompanyEdit"); RadTextBox txtOrderNumber = (RadTextBox)userControl.FindControl("txtOrderNumberEdit"); RadTextBox txtArmstrongReference = (RadTextBox)userControl.FindControl("txtArmstrongReferenceEdit"); RadTextBox txtCustomer = (RadTextBox)userControl.FindControl("txtCustomerEdit"); RadTextBox txtPO = (RadTextBox)userControl.FindControl("txtPOEdit"); RadTextBox txtSKU = (RadTextBox)userControl.FindControl("txtSKUEdit"); RadComboBox ddlPOStatusEdit = (RadComboBox)userControl.FindControl("ddlPOStatusEdit"); RadTextBox txtLine = (RadTextBox)userControl.FindControl("txtLineEdit"); RadTextBox txtLineOfPO = (RadTextBox)userControl.FindControl("txtLineOfPOEdit"); RadTextBox txtSize = (RadTextBox)userControl.FindControl("txtSizeEdit"); RadDatePicker txtDateRequired = (RadDatePicker)userControl.FindControl("txtDateRequiredEdit"); RadDatePicker txtDueByDate = (RadDatePicker)userControl.FindControl("txtDueByDateEdit"); RadTextBox txtShipVia = (RadTextBox)userControl.FindControl("txtShipViaEdit"); RadTextBox txtSerial = (RadTextBox)userControl.FindControl("txtSerialEdit"); RadTextBox txtTruckRoute = (RadTextBox)userControl.FindControl("txtTruckRouteEdit"); RadDropDownList ddlStatus = (RadDropDownList)userControl.FindControl("ddlStatusEdit"); int statusId = Convert.ToInt32(ddlStatus.SelectedValue); RadComboBox ddlRequestedByEdit = (RadComboBox)userControl.FindControl("ddlRequestedByEdit"); int requestedById = Convert.ToInt32(ddlRequestedByEdit.SelectedValue); RadComboBox ddlAssignedToEdit = (RadComboBox)userControl.FindControl("ddlAssignedToEdit"); int assignedToId = 0; if (ddlAssignedToEdit.SelectedIndex != -1) { assignedToId = Convert.ToInt32(ddlAssignedToEdit.SelectedValue); } RadDropDownList ddlPriorityEdit = (RadDropDownList)userControl.FindControl("ddlPriorityEdit"); int priorityId = Convert.ToInt32(ddlPriorityEdit.SelectedValue); CheckBox cbSendComments = (CheckBox)userControl.FindControl("cbSendComments"); CheckBox cbShowSystemComments = (CheckBox)userControl.FindControl("cbShowSystemComments"); CheckBox cbNotifyStandard = (CheckBox)userControl.FindControl("cbNotifyStandard"); CheckBox cbNotifyAssignee = (CheckBox)userControl.FindControl("cbNotifyAssignee"); CheckBox cbNotifyOther = (CheckBox)userControl.FindControl("cbNotifyOther"); CheckBox cbNotifyRequester = (CheckBox)userControl.FindControl("cbNotifyRequester"); RadComboBox ddlNotifyOther = (RadComboBox)userControl.FindControl("ddlNotifyOther"); Label lblEmailsSentTo = (Label)userControl.FindControl("lblEmailsSentTo"); Label lblFVMessage = (Label)userControl.FindControl("lblFVMessage"); DateTime tryDateRequired; Nullable<DateTime> dateRequired = null; DateTime tryDateDue; Nullable<DateTime> dateDue = null; try { if (myForm.RequestedUser.SystemUserID.ToString() != ddlRequestedByEdit.SelectedValue) { Comments newRequesterComment = new Comments { Form = ctx.TForms.FirstOrDefault(x => x.FormName == "Order Cancellation"), Note = "Requester Changed To: " + ctx.SystemUsers.FirstOrDefault(x => x.SystemUserID == requestedById).DisplayName, RelatedFormId = myForm.RecordId, SystemComment = true, Timestamp = DateTime.Now }; ctx.Comments.Add(newRequesterComment); } if (myForm.AssignedUser == null && ddlAssignedToEdit.SelectedIndex != -1) // (myForm.AssignedUser != null && ddlAssignedToEdit.SelectedIndex != -1 && Convert.ToString(myForm.AssignedUser.SystemUserID) != ddlAssignedToEdit.SelectedValue)) { Comments newAssignedComment = new Comments { Form = ctx.TForms.FirstOrDefault(x => x.FormName == "Order Cancellation"), Note = "Request Assigned To: " + ctx.SystemUsers.FirstOrDefault(x => x.SystemUserID == assignedToId).DisplayName, RelatedFormId = myForm.RecordId, SystemComment = true, Timestamp = DateTime.Now }; ctx.Comments.Add(newAssignedComment); } else if (myForm.AssignedUser != null && ddlAssignedToEdit.SelectedIndex != -1) { if (myForm.AssignedUser.SystemUserID.ToString() != ddlAssignedToEdit.SelectedValue) { Comments newAssignedComment = new Comments { Form = ctx.TForms.FirstOrDefault(x => x.FormName == "Order Cancellation"), Note = "Request Assignee Changed To: " + ctx.SystemUsers.FirstOrDefault(x => x.SystemUserID == assignedToId).DisplayName, RelatedFormId = myForm.RecordId, SystemComment = true, Timestamp = DateTime.Now }; ctx.Comments.Add(newAssignedComment); } } else if (myForm.AssignedUser != null && ddlAssignedToEdit.SelectedIndex == -1) { Comments newAssignedComment = new Comments { Form = ctx.TForms.FirstOrDefault(x => x.FormName == "Order Cancellation"), Note = "Request Assignment Removed From: " + ctx.SystemUsers.FirstOrDefault(x => x.SystemUserID == myForm.AssignedUser.SystemUserID).DisplayName, RelatedFormId = myForm.RecordId, SystemComment = true, Timestamp = DateTime.Now }; ctx.Comments.Add(newAssignedComment); } if (txtDateRequired.SelectedDate != null) { DateTime.TryParse(txtDateRequired.SelectedDate.Value.ToString(), out tryDateRequired); if (tryDateRequired.Year > 0001) { dateRequired = tryDateRequired; } } if (txtDueByDate.SelectedDate != null) { DateTime.TryParse(txtDueByDate.SelectedDate.Value.ToString(), out tryDateDue); if (tryDateDue.Year > 0001) { dateDue = tryDateDue; } } var statusCode = ctx.Statuses.FirstOrDefault(s => s.StatusId == statusId); myForm.Company = ddlCompanyEdit.SelectedValue; myForm.OrderNumber = txtOrderNumber.Text; myForm.ArmstrongReference = txtArmstrongReference.Text; myForm.Customer = txtCustomer.Text; myForm.PO = txtPO.Text; myForm.SKU = txtSKU.Text; myForm.POStatusList = ddlPOStatusEdit.Text; myForm.Line = txtLine.Text; myForm.LineOfPO = txtLineOfPO.Text; myForm.Size = txtSize.Text; myForm.DateRequired = dateRequired.Value; myForm.ShipVia = txtShipVia.Text; myForm.Serial = txtSerial.Text; myForm.TruckRoute = txtTruckRoute.Text; myForm.Status = statusCode; myForm.RequestedUser = ctx.SystemUsers.FirstOrDefault(x => x.SystemUserID == requestedById); myForm.Priority = ctx.Priorities.FirstOrDefault(x => x.RecordId == priorityId); myForm.DueDate = dateDue; if (ddlAssignedToEdit.SelectedIndex != -1) { myForm.AssignedUser = ctx.SystemUsers.FirstOrDefault(x => x.SystemUserID == assignedToId); } else { myForm.AssignedUser = null; } myForm.LastModifiedTimestamp = DateTime.Now; UserLogic newLogic = new UserLogic(); System.Security.Principal.IPrincipal user = System.Web.HttpContext.Current.User; SystemUsers currentUser = newLogic.GetCurrentUser(user); myForm.LastModifiedUser = ctx.SystemUsers.FirstOrDefault(x => x.SystemUserID == currentUser.SystemUserID); ctx.SaveChanges(); if (myForm.AssignedUser != null && !newLogic.HasBeenAssigned(myForm.AssignedUser, myForm.RecordId, "Order Cancellation")) { UserAssignmentAssociation uA = new UserAssignmentAssociation { Form = ctx.TForms.FirstOrDefault(x => x.FormName == "Order Cancellation"), RelatedFormId = myForm.RecordId, User = myForm.AssignedUser }; ctx.UserAssignments.Add(uA); } if (myForm.RequestedUser != null && !newLogic.HasBeenRequested(myForm.RequestedUser, myForm.RecordId, "Order Cancellation")) { UserRequestAssociation uR = new UserRequestAssociation { Form = ctx.TForms.FirstOrDefault(x => x.FormName == "Order Cancellation"), RelatedFormId = myForm.RecordId, User = myForm.RequestedUser }; ctx.UserRequests.Add(uR); } ctx.SaveChanges(); if (myForm.Status.StatusText == "Completed") { Comments updateComment = new Comments { Form = ctx.TForms.FirstOrDefault(x => x.FormName == "Order Cancellation"), Note = "Request Completed By: " + currentUser.DisplayName, RelatedFormId = myForm.RecordId, SystemComment = true, Timestamp = DateTime.Now }; ctx.Comments.Add(updateComment); } else { Comments updateComment = new Comments { Form = ctx.TForms.FirstOrDefault(x => x.FormName == "Order Cancellation"), Note = "Request Updated By: " + currentUser.DisplayName + " --- Status: " + myForm.Status.StatusText + " --- Priority: " + myForm.Priority.PriorityText, RelatedFormId = myForm.RecordId, SystemComment = true, Timestamp = DateTime.Now }; ctx.Comments.Add(updateComment); } if (lblEmailsSentTo.Text != "") { SendUpdateEmail(myForm.RecordId, lblEmailsSentTo.Text, cbSendComments.Checked, cbShowSystemComments.Checked); Comments notificationComment = new Comments { Form = ctx.TForms.FirstOrDefault(x => x.FormName == "Order Cancellation"), Note = "Request Notifications Sent To: " + lblEmailsSentTo.Text, RelatedFormId = myForm.RecordId, SystemComment = true, Timestamp = DateTime.Now }; ctx.Comments.Add(notificationComment); } ctx.SaveChanges(); cbNotifyAssignee.Checked = false; cbNotifyOther.Checked = false; cbNotifyRequester.Checked = false; cbNotifyStandard.Checked = false; cbSendComments.Checked = false; ddlNotifyOther.Text = ""; gvReport.DataBind(); } catch (Exception ex) { throw; } } }