Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }