public async Task <IActionResult> UpdateWorkOrder(int userId, WorkOrder workOrder) { if (userId == 0 || workOrder.Id == 0) { return(BadRequest()); } var result = await _workOrderRepository.UpdateWorkOrder(userId, workOrder); if (result == HttpStatusCode.NoContent) { return(StatusCode(StatusCodes.Status204NoContent)); } return(StatusCode(StatusCodes.Status500InternalServerError)); }
public UpdateWorkOrderResponseDto UpdateWorkOrder(UpdateWorkOrderRequestDto updateWorkOrderRequestDto) { var getWorkOrderClientSerialNoQM = new GetWorkOrderClientSerialNoQM(); string ClientSerialStartName = System.Configuration.ConfigurationManager.AppSettings["ClientStartName"].ToString(); string CurrentMonth = Constant.GetMonthByAlphabet(System.DateTime.UtcNow.Month); string CurrentYear = Constant.GetYearByAlphabet(System.DateTime.UtcNow.Year); var clientSerialDigit = ClientSerialStartName + CurrentYear + CurrentMonth; getWorkOrderClientSerialNoQM = workOrderRepository.GetWorkOrderClientSerialNo(clientSerialDigit); string clientSerialNo = ""; string clientSerialNumber = ""; var existingclientSerialDigit = ""; if (!string.IsNullOrEmpty(getWorkOrderClientSerialNoQM.WorkOrderClientSerialNo)) { clientSerialNumber = getWorkOrderClientSerialNoQM.WorkOrderClientSerialNo.ToString(); existingclientSerialDigit = getWorkOrderClientSerialNoQM.WorkOrderClientChar; } foreach (var updateWorKOrder in updateWorkOrderRequestDto.WorkOrderMasterDetails) { if (updateWorKOrder.IsNew) { #region Section For to save the work order masters information & work order details //foreach (var workOrderMaster in updateWorKOrder) //{ var workOrderMasterItems = new List <WorkOrderMasterItems>(); var cModel = new AddWorkOrderCM(); var workOrderMasterDetails = new WorkOrderMasterItems { WorkOrderNumber = updateWorKOrder.WorkOrderNumber, WorkOrderSerial = updateWorKOrder.WorkOrderSerial, DCNumber = updateWorKOrder.DCNumber == null ? string.Empty : updateWorKOrder.DCNumber, DCDate = updateWorKOrder.DCDate, DCSerial = updateWorKOrder.DCSerial == null ? string.Empty : updateWorKOrder.DCSerial, PONumber = updateWorKOrder.PONumber == null ? string.Empty : updateWorKOrder.PONumber, PODate = updateWorKOrder.PODate, POSerial = updateWorKOrder.POSerial == null ? string.Empty : updateWorKOrder.POSerial, DrawingNo = updateWorKOrder.DrawingNo, DrawingRev = updateWorKOrder.DrawingRev, PartCode = updateWorKOrder.PartCode, WOQuantity = updateWorKOrder.WOQuantity, Rate = updateWorKOrder.Rate, DeliveryDate = updateWorKOrder.DeliveryDate == null ? System.DateTime.UtcNow : Convert.ToDateTime(updateWorKOrder.DeliveryDate), DCQuantity = 0, RejectedQuantity = 0, InvoicedQuantity = 0, SCSentQuantity = 0, SCReceivedQuantity = 0, CreatedBy = updateWorKOrder.CreatedBy, CreatedDateTime = updateWorKOrder.CreatedDateTime, VendorCode = updateWorKOrder.VendorCode, MaterialCode = updateWorKOrder.MaterialCode, ItemCode = updateWorKOrder.ItemCode, HeatNo = updateWorKOrder.HeatNo }; workOrderMasterItems.Add(workOrderMasterDetails); cModel.WorkOrderMasterListItems = workOrderMasterItems; // Section to add the work order master information var response = workOrderRepository.AddWorkOrder(cModel); // Section to add the work order details information var quantity = cModel.WorkOrderMasterListItems.FirstOrDefault().WOQuantity; var heatNo = cModel.WorkOrderMasterListItems.FirstOrDefault().HeatNo; var woSerialNo = cModel.WorkOrderMasterListItems.FirstOrDefault().WorkOrderSerial; var workOrderNumber = cModel.WorkOrderMasterListItems.FirstOrDefault().WorkOrderNumber; if (!string.IsNullOrEmpty(clientSerialNumber)) { //var existingclientSerialDigit = clientSerialNo.ToString().Substring(0, 3); if (!clientSerialDigit.Equals(existingclientSerialDigit)) { string serialNoStarting = "0"; clientSerialNo = clientSerialDigit + serialNoStarting; } else { clientSerialNo = existingclientSerialDigit + clientSerialNumber; } } else { string serialNoStarting = "0"; clientSerialNo = clientSerialDigit + serialNoStarting; } for (int i = 0; i < quantity; i++) { var splitSerialChar = clientSerialNo.ToString().Substring(0, 3); var splitSerialNo = clientSerialNo.ToString().Substring(3); clientSerialNo = splitSerialChar + ((Convert.ToInt64(splitSerialNo) + 1)); clientSerialNumber = ((Convert.ToInt64(splitSerialNo) + 1)).ToString(); existingclientSerialDigit = splitSerialChar; WorkOrderDetailsCM workOrderDetailsCM = new WorkOrderDetailsCM() { WorkOrderNumber = workOrderNumber, WorkOrderSerial = woSerialNo, SerialNo = clientSerialNo, HeatNo = heatNo, Invoice = false, JTC = false, SubContract = false, DC = false, CreatedDateTime = System.DateTime.UtcNow }; workOrderRepository.AddWorkOrderDetails(workOrderDetailsCM); } //} #endregion } else { #region Section For to save the work order masters information & work order details var updateWorkOrderMasterItems = new List <UpdateWorkOrderMasterItems>(); var cModel = new UpdateWorkOrderCM(); var workOrderMasterDetails = new UpdateWorkOrderMasterItems { WorkOrderNumber = updateWorKOrder.WorkOrderNumber, WorkOrderSerial = updateWorKOrder.WorkOrderSerial, DCNumber = updateWorKOrder.DCNumber == null ? string.Empty : updateWorKOrder.DCNumber, DCDate = updateWorKOrder.DCDate, DCSerial = updateWorKOrder.DCSerial == null ? string.Empty : updateWorKOrder.DCSerial, PONumber = updateWorKOrder.PONumber == null ? string.Empty : updateWorKOrder.PONumber, PODate = updateWorKOrder.PODate, POSerial = updateWorKOrder.POSerial == null ? string.Empty : updateWorKOrder.POSerial, DrawingNo = updateWorKOrder.DrawingNo, DrawingRev = updateWorKOrder.DrawingRev, PartCode = updateWorKOrder.PartCode, WOQuantity = updateWorKOrder.WOQuantity, Rate = updateWorKOrder.Rate, DeliveryDate = updateWorKOrder.DeliveryDate == null ? System.DateTime.UtcNow : Convert.ToDateTime(updateWorKOrder.DeliveryDate), DCQuantity = 0, RejectedQuantity = 0, InvoicedQuantity = 0, SCSentQuantity = 0, SCReceivedQuantity = 0, UpdatedBy = updateWorKOrder.UpdatedBy, UpdatedDateTime = updateWorKOrder.UpdatedDateTime, VendorCode = updateWorKOrder.VendorCode, MaterialCode = updateWorKOrder.MaterialCode, ItemCode = updateWorKOrder.ItemCode, HeatNo = updateWorKOrder.HeatNo }; updateWorkOrderMasterItems.Add(workOrderMasterDetails); cModel.UpdateWorkOrderMasterListItems = updateWorkOrderMasterItems; // Section to add the work order master information workOrderRepository.UpdateWorkOrder(cModel); } #endregion } return(new UpdateWorkOrderResponseDto()); }