示例#1
0
        public static void Edit(ProviderViewModel source, HttpRequestBase request = null)
        {
            IAcreedor item = null;

            switch (source.ETipoAcreedor)
            {
            case ETipoAcreedor.Proveedor:
            case ETipoAcreedor.Acreedor:
            case ETipoAcreedor.Partner:
                item = Proveedor.Get(source.OidAcreedor, source.ETipoAcreedor);
                break;

            case ETipoAcreedor.Naviera:
                item = Naviera.Get(source.OidAcreedor);
                break;

            case ETipoAcreedor.Despachante:
                item = Despachante.Get(source.OidAcreedor);
                break;

            case ETipoAcreedor.TransportistaDestino:
            case ETipoAcreedor.TransportistaOrigen:
                item = Transporter.Get(source.OidAcreedor, source.ETipoAcreedor);
                break;
            }

            source.CopyTo(item, request);
            item.ISave();
        }
        protected override void GetFormSourceData(long oid, object[] parameters)
        {
            _entity = (Naviera)parameters[0];

            if (_entity == null)
            {
                _entity = Naviera.Get(oid);
                _entity.BeginEdit();
            }
        }
        protected override void GetFormSourceData(long oid, object[] parameters)
        {
            _summary = (PaymentSummary)parameters[0];

            switch (_summary.ETipoAcreedor)
            {
            case ETipoAcreedor.Instructor:
            {
                Assembly assembly = Assembly.Load("moleQule.Library.Instruction");
                Type     type     = assembly.GetType("moleQule.Library.Instruction.Instructor");

                _entity = (IAcreedor)type.InvokeMember("Get", BindingFlags.InvokeMethod, null, null, new object[1] {
                        _summary.OidAgente
                    });
            }
            break;

            case ETipoAcreedor.Proveedor:
            case ETipoAcreedor.Acreedor:
                _entity = Proveedor.Get(_summary.OidAgente, _summary.ETipoAcreedor);
                break;

            case ETipoAcreedor.Naviera:
                _entity = Naviera.Get(_summary.OidAgente);
                break;

            case ETipoAcreedor.TransportistaDestino:
                _entity = Transporter.Get(_summary.OidAgente, _summary.ETipoAcreedor);
                _entity.ETipoAcreedor = ETipoAcreedor.TransportistaDestino;
                break;

            case ETipoAcreedor.TransportistaOrigen:
                _entity = Transporter.Get(_summary.OidAgente, _summary.ETipoAcreedor);
                _entity.ETipoAcreedor = ETipoAcreedor.TransportistaOrigen;
                break;

            case ETipoAcreedor.Despachante:
                _entity = Despachante.Get(_summary.OidAgente);
                break;

            case ETipoAcreedor.Partner:
            {
                Assembly assembly = Assembly.Load("moleQule.Library.Partner");
                Type     type     = assembly.GetType("moleQule.Library.Partner.Partner");

                _entity = (IAcreedor)type.InvokeMember("Get", BindingFlags.InvokeMethod, null, null, new object[1] {
                        _summary.OidAgente
                    });
            }
            break;
            }

            _entity.CloseSessions = false;
            _entity.BeginEdit();
        }