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 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 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; } } }