Transito_Movimiento_Agregar(DtoLibInventario.Transito.Movimiento.Agregar.Ficha ficha) { return(ServiceProv.Transito_Movimiento_Agregar(ficha)); }
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); }