private Documents PopulateSaleOrder(Documents pObjSaleOrder, string pStrRequestId) { PermissionRequestDTO lObjPermissionRequest = GetPermissionRequest(pStrRequestId); LogService.WriteInfo("[SaleOrder Begin]"); //Header pObjSaleOrder.CardCode = lObjPermissionRequest.CardCode; pObjSaleOrder.DocDate = lObjPermissionRequest.Date; pObjSaleOrder.DocDueDate = lObjPermissionRequest.CrossingDate; pObjSaleOrder.Series = 147; //Custom user fields pObjSaleOrder.UserFields.Fields.Item("U_PE_IdPermitType").Value = lObjPermissionRequest.MobilizationTypeId.ToString(); //Campo enlazado al catalogo de tipos de movilizaciones pObjSaleOrder.UserFields.Fields.Item("U_PE_RequestCodeUGRS").Value = lObjPermissionRequest.UgrsRequest; pObjSaleOrder.UserFields.Fields.Item("U_PE_FolioUGRS").Value = lObjPermissionRequest.UgrsFolio; pObjSaleOrder.UserFields.Fields.Item("U_PE_ChargeTo").Value = lObjPermissionRequest.Producer; pObjSaleOrder.UserFields.Fields.Item("U_PE_Requests").Value = lObjPermissionRequest.Producer; pObjSaleOrder.UserFields.Fields.Item("U_PE_Representative").Value = lObjPermissionRequest.Producer; //pObjSaleOrder.UserFields.Fields.Item("U_PE_Asociacion").Value = null; (No se recibe por el WS) pObjSaleOrder.UserFields.Fields.Item("U_PE_Phone").Value = lObjPermissionRequest.ProducerTelephone; pObjSaleOrder.UserFields.Fields.Item("U_PE_Entry").Value = lObjPermissionRequest.Entry; pObjSaleOrder.UserFields.Fields.Item("U_PE_Departure").Value = lObjPermissionRequest.Departure; pObjSaleOrder.UserFields.Fields.Item("U_PE_Transport").Value = lObjPermissionRequest.TransportId.ToString(); //Campo enlazado al catalogo de transportes pObjSaleOrder.UserFields.Fields.Item("U_PE_Origin").Value = lObjPermissionRequest.Origin; pObjSaleOrder.UserFields.Fields.Item("U_PE_Customs1").Value = lObjPermissionRequest.Customs1 != 0 ? lObjPermissionRequest.Customs1.ToString() : ""; //Campo enlazado al catalogo de aduanas pObjSaleOrder.UserFields.Fields.Item("U_PE_Customs2").Value = lObjPermissionRequest.Customs2 != 0 ? lObjPermissionRequest.Customs2.ToString() : ""; //Campo enlazado al catalogo de aduanas pObjSaleOrder.UserFields.Fields.Item("U_PE_Destination").Value = lObjPermissionRequest.Destination; pObjSaleOrder.UserFields.Fields.Item("U_PE_Location").Value = lObjPermissionRequest.CustomerLocation; pObjSaleOrder = GetLines(pObjSaleOrder, pStrRequestId, lObjPermissionRequest.MobilizationTypeId); return(pObjSaleOrder); }
public PermissionRequestDTO GetPermissionRequest(string pStrRequestId) { PermissionRequestDTO lObjResult = new PermissionRequestDTO(); SAPbobsCOM.Recordset lObjRecordSet = null; string lStrQuery = ""; try { lObjRecordSet = (SAPbobsCOM.Recordset)DIApplication.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); Dictionary <string, string> lLstStrParameters = new Dictionary <string, string>(); lLstStrParameters.Add("RequestId", pStrRequestId); lStrQuery = this.GetSQL("GetPermissionRequestById").Inject(lLstStrParameters); lObjRecordSet.DoQuery(lStrQuery); if (lObjRecordSet.RecordCount > 0) { foreach (PropertyInfo lObjProperty in lObjResult.GetType().GetProperties().Where(x => x.GetMethod.IsPublic && !x.GetMethod.IsVirtual)) { try { lObjProperty.SetValue ( lObjResult, Convert.ChangeType ( lObjRecordSet.Fields.Item(lObjProperty.Name).Value.ToString(), lObjProperty.PropertyType ) ); } catch { //Ignore ;) } } } } finally { MemoryUtility.ReleaseComObject(lObjRecordSet); } return(lObjResult); }
private Documents PopulateSaleOrder(Documents pObjSaleOrder, string pStrRequestId) { PermissionRequestDTO lObjPermissionRequest = GetPermissionRequest(pStrRequestId); LogService.WriteInfo("[SaleOrder Begin]"); //Header pObjSaleOrder.CardCode = lObjPermissionRequest.CardCode; if (string.IsNullOrEmpty(lObjPermissionRequest.CardCode)) { string lStrCustomerCode = mObjQueryManager.GetValue("U_ProducerId", "U_RequestId", pStrRequestId, "[@UG_PE_WS_PERE]"); string lStrCustomerName = mObjQueryManager.GetValue("U_Producer", "U_RequestId", pStrRequestId, "[@UG_PE_WS_PERE]"); LogService.WriteError("No fue posible encontrar el socio de negocio: " + lStrCustomerName + " Codigo: " + lStrCustomerCode); } pObjSaleOrder.DocDate = lObjPermissionRequest.Date; pObjSaleOrder.DocDueDate = lObjPermissionRequest.CrossingDate; pObjSaleOrder.DocumentsOwner = GetPermissionUser(); //pObjSaleOrder.Series = 147; lObjPermissionRequest.Entry2 = lObjPermissionRequest.Entry == lObjPermissionRequest.Entry2 ? "": lObjPermissionRequest.Entry2; lObjPermissionRequest.Departure2 = lObjPermissionRequest.Departure2 == lObjPermissionRequest.Departure ? "" : lObjPermissionRequest.Departure2; pObjSaleOrder.UserFields.Fields.Item("U_PE_IdPermitType").Value = Truncate(lObjPermissionRequest.MobilizationTypeId.ToString(), pObjSaleOrder.UserFields.Fields.Item("U_PE_IdPermitType").Size); //Campo enlazado al catalogo de tipos de movilizaciones pObjSaleOrder.UserFields.Fields.Item("U_PE_RequestCodeUGRS").Value = Truncate(lObjPermissionRequest.UgrsRequest, pObjSaleOrder.UserFields.Fields.Item("U_PE_RequestCodeUGRS").Size); pObjSaleOrder.UserFields.Fields.Item("U_PE_FolioUGRS").Value = Truncate(lObjPermissionRequest.UgrsFolio, pObjSaleOrder.UserFields.Fields.Item("U_PE_FolioUGRS").Size); pObjSaleOrder.UserFields.Fields.Item("U_PE_ChargeTo").Value = Truncate(lObjPermissionRequest.Producer, pObjSaleOrder.UserFields.Fields.Item("U_PE_ChargeTo").Size); pObjSaleOrder.UserFields.Fields.Item("U_PE_Requests").Value = Truncate(lObjPermissionRequest.Producer, pObjSaleOrder.UserFields.Fields.Item("U_PE_Requests").Size); pObjSaleOrder.UserFields.Fields.Item("U_PE_Representative").Value = Truncate(lObjPermissionRequest.Producer, pObjSaleOrder.UserFields.Fields.Item("U_PE_Representative").Size); //pObjSaleOrder.UserFields.Fields.Item("U_PE_Asociacion").Value = null; (No se recibe por el WS) pObjSaleOrder.UserFields.Fields.Item("U_PE_Phone").Value = Truncate(lObjPermissionRequest.ProducerTelephone, pObjSaleOrder.UserFields.Fields.Item("U_PE_Phone").Size); pObjSaleOrder.UserFields.Fields.Item("U_PE_Entry").Value = Truncate(lObjPermissionRequest.Entry, pObjSaleOrder.UserFields.Fields.Item("U_PE_Entry").Size); pObjSaleOrder.UserFields.Fields.Item("U_PE_Departure").Value = Truncate(lObjPermissionRequest.Departure, pObjSaleOrder.UserFields.Fields.Item("U_PE_Departure").Size); string lStrEntry = Truncate(lObjPermissionRequest.Entry, pObjSaleOrder.UserFields.Fields.Item("U_PE_Entry").Size); string lStrDeparture = Truncate(lObjPermissionRequest.Departure, pObjSaleOrder.UserFields.Fields.Item("U_PE_Departure").Size); string lStrEntry2 = Truncate(lObjPermissionRequest.Entry2, pObjSaleOrder.UserFields.Fields.Item("U_PE_Entry2").Size); string lStrDeaperture2 = Truncate(lObjPermissionRequest.Departure2, pObjSaleOrder.UserFields.Fields.Item("U_PE_Deaperture2").Size); pObjSaleOrder.UserFields.Fields.Item("U_PE_Entry2").Value = lStrEntry == lStrEntry2? "" : Truncate(lObjPermissionRequest.Entry2, pObjSaleOrder.UserFields.Fields.Item("U_PE_Entry2").Size); pObjSaleOrder.UserFields.Fields.Item("U_PE_Deaperture2").Value = lStrDeparture == lStrDeaperture2 ? "" : Truncate(lObjPermissionRequest.Departure2, pObjSaleOrder.UserFields.Fields.Item("U_PE_Deaperture2").Size); pObjSaleOrder.UserFields.Fields.Item("U_PE_Transport").Value = Truncate(lObjPermissionRequest.TransportId.ToString(), pObjSaleOrder.UserFields.Fields.Item("U_PE_Transport").Size); //Campo enlazado al catalogo de transportes pObjSaleOrder.UserFields.Fields.Item("U_PE_Origin").Value = Truncate(lObjPermissionRequest.Origin, pObjSaleOrder.UserFields.Fields.Item("U_PE_Origin").Size); pObjSaleOrder.UserFields.Fields.Item("U_PE_Customs1").Value = Truncate(lObjPermissionRequest.Customs1 != 0 ? lObjPermissionRequest.Customs1.ToString() : "", pObjSaleOrder.UserFields.Fields.Item("U_PE_Customs1").Size); //Campo enlazado al catalogo de aduanas //pObjSaleOrder.UserFields.Fields.Item("U_PE_Customs2").Value = Truncate(lObjPermissionRequest.Customs2 != 0 ? lObjPermissionRequest.Customs2.ToString() : "", pObjSaleOrder.UserFields.Fields.Item("U_PE_Customs2").Size); //Campo enlazado al catalogo de aduanas pObjSaleOrder.UserFields.Fields.Item("U_PE_Destination").Value = Truncate(lObjPermissionRequest.Destination, pObjSaleOrder.UserFields.Fields.Item("U_PE_Destination").Size); pObjSaleOrder.UserFields.Fields.Item("U_PE_Location").Value = Truncate(lObjPermissionRequest.CustomerLocation, pObjSaleOrder.UserFields.Fields.Item("U_PE_Location").Size); LogService.WriteInfo("-------------Info Orden de compra--------------"); LogService.WriteInfo(string.Format("U_PE_IdPermitType: {0}", lObjPermissionRequest.MobilizationTypeId)); LogService.WriteInfo(string.Format("U_PE_RequestCodeUGRS: {0}", lObjPermissionRequest.UgrsRequest)); LogService.WriteInfo(string.Format("U_PE_FolioUGRS: {0}", lObjPermissionRequest.UgrsFolio)); LogService.WriteInfo(string.Format("Aduana: {0}", lObjPermissionRequest.Customs1)); LogService.WriteInfo(string.Format("Entrada 1: {0}", lStrEntry)); LogService.WriteInfo(string.Format("Entrada 2: {0}", lStrEntry2)); LogService.WriteInfo(string.Format("Salida 1: {0}", lStrDeparture)); LogService.WriteInfo(string.Format("Salida 2: {0}", lStrDeaperture2)); //pObjSaleOrder.UserFields.Fields.Item("U_PE_IdPermitType").Value = lObjPermissionRequest.MobilizationTypeId.ToString(); //Campo enlazado al catalogo de tipos de movilizaciones //pObjSaleOrder.UserFields.Fields.Item("U_PE_RequestCodeUGRS").Value = lObjPermissionRequest.UgrsRequest; //pObjSaleOrder.UserFields.Fields.Item("U_PE_FolioUGRS").Value = lObjPermissionRequest.UgrsFolio; //pObjSaleOrder.UserFields.Fields.Item("U_PE_ChargeTo").Value = lObjPermissionRequest.Producer; //pObjSaleOrder.UserFields.Fields.Item("U_PE_Requests").Value = lObjPermissionRequest.Producer; //pObjSaleOrder.UserFields.Fields.Item("U_PE_Representative").Value = lObjPermissionRequest.Producer; ////pObjSaleOrder.UserFields.Fields.Item("U_PE_Asociacion").Value = null; (No se recibe por el WS) //pObjSaleOrder.UserFields.Fields.Item("U_PE_Phone").Value = lObjPermissionRequest.ProducerTelephone; //pObjSaleOrder.UserFields.Fields.Item("U_PE_Entry").Value = lObjPermissionRequest.Entry; //pObjSaleOrder.UserFields.Fields.Item("U_PE_Departure").Value = lObjPermissionRequest.Departure; //pObjSaleOrder.UserFields.Fields.Item("U_PE_Transport").Value = lObjPermissionRequest.TransportId.ToString(); //Campo enlazado al catalogo de transportes //pObjSaleOrder.UserFields.Fields.Item("U_PE_Origin").Value = lObjPermissionRequest.Origin; //pObjSaleOrder.UserFields.Fields.Item("U_PE_Customs1").Value = lObjPermissionRequest.Customs1 != 0 ? lObjPermissionRequest.Customs1.ToString() : ""; //Campo enlazado al catalogo de aduanas //pObjSaleOrder.UserFields.Fields.Item("U_PE_Customs2").Value = lObjPermissionRequest.Customs2 != 0 ? lObjPermissionRequest.Customs2.ToString() : ""; //Campo enlazado al catalogo de aduanas //pObjSaleOrder.UserFields.Fields.Item("U_PE_Destination").Value = lObjPermissionRequest.Destination; //pObjSaleOrder.UserFields.Fields.Item("U_PE_Location").Value = lObjPermissionRequest.CustomerLocation; pObjSaleOrder = GetLines(pObjSaleOrder, pStrRequestId, lObjPermissionRequest.MobilizationTypeId); return(pObjSaleOrder); }