public void UpdateWorkOrder(UpdateWorkOrderCM updateWorkOrderCM) { using (var connection = new DbConnectionProvider().CreateConnection()) { connection.Open(); var command = new UpdateWorkOrderMasterInsertCommand { Connection = connection }; command.Execute(updateWorkOrderCM); } //return new UpdateWorkOrderQM(); }
public void Execute(UpdateWorkOrderCM model) { using (var sqlCommand = CreateCommand()) { sqlCommand.Connection = Connection; sqlCommand.CommandText = "[dbo].[uspUpdateWorkOrderMaster]"; sqlCommand.CommandType = CommandType.StoredProcedure; sqlCommand.Parameters.Add(AddParameter("@WONumber", SsDbType.NVarChar, ParameterDirection.Input, model.UpdateWorkOrderMasterListItems.FirstOrDefault().WorkOrderNumber)); sqlCommand.Parameters.Add(AddParameter("@WOSerial", SsDbType.Decimal, ParameterDirection.Input, model.UpdateWorkOrderMasterListItems.FirstOrDefault().WorkOrderSerial)); sqlCommand.Parameters.Add(AddParameter("@DCNumber", SsDbType.NVarChar, ParameterDirection.Input, model.UpdateWorkOrderMasterListItems.FirstOrDefault().DCNumber)); sqlCommand.Parameters.Add(AddParameter("@DCSerial", SsDbType.NVarChar, ParameterDirection.Input, model.UpdateWorkOrderMasterListItems.FirstOrDefault().DCSerial)); sqlCommand.Parameters.Add(AddParameter("@DCDate", SsDbType.DateTime, ParameterDirection.Input, model.UpdateWorkOrderMasterListItems.FirstOrDefault().DCDate)); sqlCommand.Parameters.Add(AddParameter("@PONumber", SsDbType.NVarChar, ParameterDirection.Input, model.UpdateWorkOrderMasterListItems.FirstOrDefault().PONumber)); sqlCommand.Parameters.Add(AddParameter("@POSerial", SsDbType.NVarChar, ParameterDirection.Input, model.UpdateWorkOrderMasterListItems.FirstOrDefault().POSerial)); sqlCommand.Parameters.Add(AddParameter("@PODate", SsDbType.DateTime, ParameterDirection.Input, model.UpdateWorkOrderMasterListItems.FirstOrDefault().PODate)); sqlCommand.Parameters.Add(AddParameter("@DrawingNo", SsDbType.NVarChar, ParameterDirection.Input, model.UpdateWorkOrderMasterListItems.FirstOrDefault().DrawingNo)); sqlCommand.Parameters.Add(AddParameter("@DrawingRevisionNo", SsDbType.NVarChar, ParameterDirection.Input, model.UpdateWorkOrderMasterListItems.FirstOrDefault().DrawingRev)); sqlCommand.Parameters.Add(AddParameter("@Rate", SsDbType.Decimal, ParameterDirection.Input, model.UpdateWorkOrderMasterListItems.FirstOrDefault().Rate)); sqlCommand.Parameters.Add(AddParameter("@UpdatedBy", SsDbType.UniqueIdentifier, ParameterDirection.Input, new Guid())); sqlCommand.Parameters.Add(AddParameter("@UpdatedDateTime", SsDbType.DateTime, ParameterDirection.Input, DateTime.UtcNow)); sqlCommand.ExecuteNonQuery(); } }
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()); }