public void UpdateAssignWork() { try { string workAssignIDObj = hdnAssignWorkID.Value; if (!string.IsNullOrEmpty(workAssignIDObj)) { int workAssignID = Convert.ToInt32(workAssignIDObj); var workCollection = context.WorkAssigns.Where(x => x.IsActive == true && x.WorkAssignID == workAssignID); if (workCollection.Count() > 0) { using (TransactionScope scope = new TransactionScope()) { Database.WorkAssign workAssign = workCollection.FirstOrDefault(); workAssign.BillNo = ddlBillNo.SelectedItem.Text; workAssign.CompletedCount = txtCompletedCount.Text == "" ? 0 : Convert.ToInt32(txtCompletedCount.Text); workAssign.ModifiedBy = currentUserName; workAssign.ModifiedDate = DateTime.Now; workAssign.EmployeeID = Convert.ToInt32(ddlEmployeeName.SelectedValue); if (!string.IsNullOrEmpty(txtExpectedDeliveryDate.Text)) { workAssign.ExpectedCompletionDate = Convert.ToDateTime(txtExpectedDeliveryDate.Text); } else { workAssign.ExpectedCompletionDate = null; } workAssign.IsComplete = chkIsWorkCompleted.Checked; workAssign.Remarks = txtRemarks.Text; if (!string.IsNullOrEmpty(txtWorkAssignDate.Text)) { workAssign.WorkAssignDate = Convert.ToDateTime(txtWorkAssignDate.Text); } else { workAssign.WorkAssignDate = null; } workAssign.WorkCount = txtItemCount.Text == "" ? 0 : Convert.ToInt32(txtItemCount.Text); workAssign.WorkTypeID = Convert.ToInt32(ddlWorkType.SelectedValue); workAssign.IsActive = true; workAssign.TotalCost = txtTotalCost.Text == "" ? 0 : Convert.ToDecimal(txtTotalCost.Text); var totalAmt = txtTotalCost.Text == "" ? 0 : Convert.ToDecimal(txtTotalCost.Text); var paidAmt = txtAmountPaid.Text == "" ? 0 : Convert.ToDecimal(txtAmountPaid.Text); var remAmount = totalAmt - paidAmt; workAssign.RemainingCost = remAmount; context.SaveChanges(); if (rptrData.Items.Count > 0) { foreach (RepeaterItem rptrItem in rptrData.Items) { if (rptrItem.Visible) { int workAssignInventoryUsedID = Convert.ToInt32(((HiddenField)rptrItem.FindControl("hdnWorkassignUsedID")).Value); var invUsedObj = context.WorkAssignInventoryUseds.Where(x => x.IsActive == true && x.WorkAssignInventoryUsedID == workAssignInventoryUsedID); if (invUsedObj.Count() > 0) { WorkAssignInventoryUsed workAssUID = invUsedObj.SingleOrDefault(); int?oldCount = workAssUID.InventoryUsedCount; workAssUID.InventoryTypeID = Convert.ToInt32(((HiddenField)rptrItem.FindControl("hdnItemID")).Value); workAssUID.InventoryUsedCount = Convert.ToInt32(((Label)rptrItem.FindControl("lblQuantity")).Text); workAssUID.ModifiedBy = currentUserName; workAssUID.ModifiedDate = DateTime.Now.Date; workAssUID.IsActive = true; workAssUID.WorkAssignID = workAssign.WorkAssignID; context.SaveChanges(); Database.InventoryType currentInventory = context.InventoryTypes.Where(x => x.IsActive == true && x.InventoryTypeId == workAssUID.InventoryTypeID).SingleOrDefault(); if (currentInventory != null) { var currentQuantity = currentInventory.InventoryCount == null ? 0 : currentInventory.InventoryCount; currentInventory.InventoryCount = currentQuantity + (oldCount - workAssUID.InventoryUsedCount); context.SaveChanges(); } } } else { int workAssignInventoryUsedID = Convert.ToInt32(((HiddenField)rptrItem.FindControl("hdnWorkassignUsedID")).Value); var invUsedObj = context.WorkAssignInventoryUseds.Where(x => x.IsActive == true && x.WorkAssignInventoryUsedID == workAssignInventoryUsedID); if (invUsedObj.Count() > 0) { WorkAssignInventoryUsed workAssUID = invUsedObj.SingleOrDefault(); workAssUID.ModifiedBy = currentUserName; workAssUID.ModifiedDate = DateTime.Now.Date; workAssUID.IsActive = false; context.SaveChanges(); Database.InventoryType currentInventory = context.InventoryTypes.Where(x => x.IsActive == true && x.InventoryTypeId == workAssUID.InventoryTypeID).SingleOrDefault(); if (currentInventory != null) { var currentQuantity = currentInventory.InventoryCount == null ? 0 : currentInventory.InventoryCount; currentInventory.InventoryCount = currentQuantity + workAssUID.InventoryUsedCount; context.SaveChanges(); } } } } } var salCollection = context.Salaries.Where(x => x.IsActive == true && x.WorkAssignID == workAssign.WorkAssignID); if (salCollection.Count() > 0) { Salary EmpSalary = salCollection.FirstOrDefault(); EmpSalary.AmountPaid = txtAmountPaid.Text == "" ? 0 : Convert.ToDecimal(txtAmountPaid.Text); EmpSalary.AmountPaidDate = txtPaidDate.Text == "" ? DateTime.Now.Date : Convert.ToDateTime(txtPaidDate.Text); EmpSalary.ModifiedBy = currentUserName; EmpSalary.ModifiedDate = DateTime.Now; EmpSalary.EmployeeID = Convert.ToInt32(ddlEmployeeName.SelectedValue); EmpSalary.Remarks = txtRemarks.Text; EmpSalary.WorkAssignID = workAssign.WorkAssignID; EmpSalary.IsActive = true; context.SaveChanges(); } lblMessage.Text = "Assign Successfully"; lblMessage.ForeColor = Color.Green; scope.Complete(); } } else { lblMessage.Text = "Work Assign ID Not Found "; lblMessage.ForeColor = Color.Red; } } else { lblMessage.Text = "Work Assign ID Not in proper format "; lblMessage.ForeColor = Color.Red; } } catch { throw; } }
public void FillForm() { try { string assignWorkIDObj = Request.QueryString[Constants.queryAssignWorkID]; if (!string.IsNullOrEmpty(assignWorkIDObj)) { int assignWorkID = Convert.ToInt32(assignWorkIDObj); if (assignWorkID > 0) { var assignWorkCollection = context.WorkAssigns.Where(x => x.IsActive == true && x.WorkAssignID == assignWorkID); if (assignWorkCollection.Count() > 0) { Database.WorkAssign workAssign = assignWorkCollection.FirstOrDefault(); txtCompletedCount.Text = Convert.ToString(workAssign.CompletedCount); txtExpectedDeliveryDate.Text = workAssign.ExpectedCompletionDate == null ? "" : workAssign.ExpectedCompletionDate.Value.ToString(Constants.DateFormatDatePicker); txtItemCount.Text = Convert.ToString(workAssign.WorkCount); txtRemarks.Text = workAssign.Remarks; txtTotalCost.Text = Convert.ToString(workAssign.TotalCost); txtWorkAssignDate.Text = workAssign.WorkAssignDate == null ? "" : workAssign.WorkAssignDate.Value.ToString(Constants.DateFormatDatePicker); ddlBillNo.SelectedValue = Convert.ToString(workAssign.BillNo); ddlEmployeeName.SelectedValue = Convert.ToString(workAssign.EmployeeID); ddlWorkType.SelectedValue = Convert.ToString(workAssign.WorkTypeID); decimal?totalCost = workAssign.TotalCost; decimal?remainingCost = workAssign.RemainingCost; if (totalCost != null && remainingCost != null) { txtAmountPaid.Text = Convert.ToString(totalCost - remainingCost); } var date = workAssign.ModifiedDate == null ? workAssign.CreatedDate : workAssign.ModifiedDate; txtPaidDate.Text = date.Value.ToString(Constants.DateFormatDatePicker); chkIsWorkCompleted.Checked = workAssign.IsComplete == null ? false : Convert.ToBoolean(workAssign.IsComplete); hdnAssignWorkID.Value = Convert.ToString(workAssign.WorkAssignID); var inventoryUsed = context.WorkAssignInventoryUseds.Where(x => x.IsActive == true && x.WorkAssignID == workAssign.WorkAssignID).AsEnumerable(); var collection = from invUsed in inventoryUsed join inv in context.InventoryTypes.Where(x => x.IsActive == true).AsEnumerable() on invUsed.InventoryTypeID equals inv.InventoryTypeId select new rptrClass { ItemID = Convert.ToString(invUsed.InventoryTypeID), ItemName = inv.InventoryTypeName, Quantity = Convert.ToString(invUsed.InventoryUsedCount), WorkAssignInventoryUsedID = Convert.ToString(invUsed.WorkAssignInventoryUsedID) }; rptrData.DataSource = collection.ToList(); rptrData.DataBind(); } else { lblMessage.Text = "Work ID Not Found"; lblMessage.ForeColor = Color.Red; } } else { lblMessage.Text = "Work ID Not Valid"; lblMessage.ForeColor = Color.Red; } } else { lblMessage.Text = "Work ID Not in right format"; lblMessage.ForeColor = Color.Red; } } catch { throw; } }