public int SaveSSCC(SSCCEditIntermediate request) { using (var dbEntity = new BACKUP_SRL_20180613Entities1()) { var isSuccess = dbEntity.API_INSERT_CHANGE(request.SSCC, request.OrderNumber, request.NewOrderNumber, request.OldActor, request.NewActor, request.LoadMessageStatusId, request.UpdateDate, request.UpdateUser, request.OldLoadUnitConditionCode, request.NewLoadUnitConditionCode, request.OldQtyRTI, request.ESoftPackingId, request.NewQtyRTI, request.DeleteSSCC, request.OldSSCC, request.NewSSCC, request.TRAItemInId, request.SLACode, request.Time, request.Validation, request.OldLoadUnitConditionSubCode, request.NewLoadUnitConditionSubCode, request.VoidSSCC, request.OldLoadCarrierEAN, request.NewLoadCarrierEAN); return(isSuccess.FirstOrDefault().Value); } }
public string EditSSCC(SSCCEditRequest request) { StringBuilder message = new StringBuilder(); SSCCEditIntermediate requestObj = new SSCCEditIntermediate() { SSCC = request.SSCC, UpdateDate = request.UpdateDate, UpdateUser = request.UpdateUser, Time = request.Time, LoadMessageStatusId = request.LoadMessageStatusId, OrderNumber = request.OrderNumber }; //To save SSCC number if (!string.IsNullOrEmpty(request.NewSSCC)) { requestObj.NewSSCC = request.NewSSCC; requestObj.OldSSCC = request.OldSSCC; if (SaveSSCC(requestObj) == 0) { message.Append(string.Format("Insert failed for new SSCC number {0}", requestObj.NewSSCC)); } requestObj.NewSSCC = null; requestObj.OldSSCC = null; } //To save Actor Origin if (request.NewActor.HasValue) { requestObj.NewActor = request.NewActor; requestObj.OldActor = request.OldActor; if (SaveSSCC(requestObj) == 0) { message.Append("Insert failed for the new actor origin"); } requestObj.NewActor = null; requestObj.OldActor = null; } //To save Order number if (!string.IsNullOrEmpty(request.NewOrderNumber)) { //Fetch order id for the order number passed using (var dbEntity = new BACKUP_SRL_20180613Entities1()) { try { request.NewOrderNumberNumeric = dbEntity.REF_ORDER.Where(o => o.ORD_ORDER_NUMBER == request.NewOrderNumber).Select(o => o.ID_ORDER).First(); } catch (InvalidOperationException) { message.Append(string.Format("Order with number {0} does not exists in the system", request.NewOrderNumber)); message.Append(string.Format("Insert failed for new Order number {0}", requestObj.NewOrderNumber)); } } if (request.NewOrderNumberNumeric.HasValue) { requestObj.NewOrderNumber = request.NewOrderNumberNumeric; requestObj.OrderNumber = request.OrderNumber; if (SaveSSCC(requestObj) == 0) { message.Append(string.Format("Insert failed for new Order number {0}", requestObj.NewOrderNumber)); } requestObj.NewOrderNumber = null; } } ///To save RTI quantities if (request.RTIQuantities != null && request.RTIQuantities.Any()) { foreach (SSCCEditRTIQty item in request.RTIQuantities) { requestObj.NewQtyRTI = item.NewQtyRTI; requestObj.OldQtyRTI = item.OldQtyRTI; requestObj.ESoftPackingId = item.ESoftPackingId; if (SaveSSCC(requestObj) == 0) { message.Append(string.Format("Insert failed for new RTI quantity {0} for TRA Code {1}", requestObj.NewQtyRTI, requestObj.ESoftPackingId)); } requestObj.NewQtyRTI = null; requestObj.OldQtyRTI = null; requestObj.ESoftPackingId = null; } } //To save load carrier if (!string.IsNullOrEmpty(request.NewLoadCarrierEAN)) { requestObj.OldLoadCarrierEAN = request.OldLoadCarrierEAN; requestObj.NewLoadCarrierEAN = request.NewLoadCarrierEAN; if (SaveSSCC(requestObj) == 0) { message.Append(string.Format("Insert failed for new load carrier {0}", requestObj.NewLoadCarrierEAN)); } requestObj.OldLoadCarrierEAN = null; requestObj.NewLoadCarrierEAN = null; } //To save anomalies/deviation/Load unit condition code if (request.Anomalies != null && request.Anomalies.Any()) { foreach (SSCCEditAnomaly item in request.Anomalies) { requestObj.OldLoadUnitConditionCode = item.OldAnomalyCode; requestObj.NewLoadUnitConditionCode = item.NewAnomalyCode; if (SaveSSCC(requestObj) == 0) { message.Append(string.Format("Insert failed for anomaly with code {0}", requestObj.NewLoadUnitConditionCode ?? requestObj.OldLoadUnitConditionCode)); } } } return(message.ToString()); }