Esempio n. 1
0
 Transito_Movimiento_Agregar(DtoLibInventario.Transito.Movimiento.Agregar.Ficha ficha)
 {
     return(ServiceProv.Transito_Movimiento_Agregar(ficha));
 }
Esempio n. 2
0
        Transito_Movimiento_Agregar(DtoLibInventario.Transito.Movimiento.Agregar.Ficha ficha)
        {
            var result = new DtoLib.ResultadoId();

            try
            {
                using (var cnn = new invEntities(_cnInv.ConnectionString))
                {
                    using (var ts = new TransactionScope())
                    {
                        var fechaSistema = cnn.Database.SqlQuery <DateTime>("select now()").FirstOrDefault();
                        var s            = ficha.mov;
                        var entMov       = new productos_movimientos_transito()
                        {
                            autoriza       = s.autoriza,
                            cntRenglones   = s.cntRenglones,
                            codigoMov      = s.codigoMov,
                            desConcepto    = s.descConcepto,
                            desDepDestino  = s.descDepDestino,
                            desDepOrigen   = s.descDepOrigen,
                            desMov         = s.descMov,
                            desSucDestino  = s.descSucDestino,
                            desSucOrigen   = s.descSucOrigen,
                            desUsuario     = s.descUsuario,
                            estacionEquipo = s.estacionEquipo,
                            factorCambio   = s.factorCambio,
                            fecha          = fechaSistema.Date,
                            idConcepto     = s.idConcepto,
                            idDepDestino   = s.idDepDestino,
                            idDepOrigen    = s.idDeOrigen,
                            idSucDestino   = s.idSucDestino,
                            idSucOrigen    = s.idSucOrigen,
                            monto          = s.monto,
                            montoDivisa    = s.montoDivisa,
                            motivo         = s.motivo,
                            tipoMov        = s.tipoMov,
                        };
                        cnn.productos_movimientos_transito.Add(entMov);
                        cnn.SaveChanges();

                        foreach (var rg in ficha.detalles)
                        {
                            var det = new productos_movimientos_transito_detalle()
                            {
                                idTransito       = entMov.id,
                                autoDepart       = rg.autoDepart,
                                autoGrupo        = rg.autoGrupo,
                                autoProd         = rg.autoPrd,
                                autoTasa         = rg.autoTasa,
                                categoriaProd    = rg.catPrd,
                                codigoProd       = rg.codigoPrd,
                                contEmpaque      = rg.contEmp,
                                costo            = rg.costo,
                                costoUnd         = rg.costoUnd,
                                costoDivisa      = rg.costoDivisa,
                                costoDivisaUnd   = rg.costoDivisaUnd,
                                decimales        = rg.decimales,
                                descEmpaque      = rg.nombreEmp,
                                descTasa         = rg.descTasa,
                                esAdmDivisa      = rg.estatusDivisa,
                                exFisica         = rg.exFisica,
                                fechaUltActCosto = rg.fechaUltActCosto,
                                nombreProd       = rg.nombrePrd,
                                valorTasa        = rg.valorTasa,
                                exFisicaDestino  = rg.exFisicaDestino,
                                nivelMinimo      = rg.nivelMinimo,
                                nivelOptimo      = rg.nivelOptimo,
                                //
                                cantSolicitada      = rg.cantidadSolicitada,
                                costoSolicitado     = rg.costoSolicitada,
                                empaqueIdSolicitado = rg.empaqueIdSolicitada,
                                ajusteIdSolicitado  = rg.ajusteIdSolicitada,
                            };
                            cnn.productos_movimientos_transito_detalle.Add(det);
                            cnn.SaveChanges();
                        }

                        ts.Complete();
                        result.Id = entMov.id;
                    }
                }
            }
            catch (DbEntityValidationException e)
            {
                var msg = "";
                foreach (var eve in e.EntityValidationErrors)
                {
                    foreach (var ve in eve.ValidationErrors)
                    {
                        msg += ve.ErrorMessage;
                    }
                }
                result.Mensaje = msg;
                result.Result  = DtoLib.Enumerados.EnumResult.isError;
            }
            catch (System.Data.Entity.Infrastructure.DbUpdateException e)
            {
                var msg = "";
                foreach (var eve in e.Entries)
                {
                    //msg += eve.m;
                    foreach (var ve in eve.CurrentValues.PropertyNames)
                    {
                        msg += ve.ToString();
                    }
                }
                result.Mensaje = msg;
                result.Result  = DtoLib.Enumerados.EnumResult.isError;
            }
            catch (Exception e)
            {
                result.Mensaje = e.Message;
                result.Result  = DtoLib.Enumerados.EnumResult.isError;
            }
            return(result);
        }