public TbPrTraslado ViewModelToDomainEditar(TrasladoViewModel viewModel) { var traslado = service.GetTrasladoById((long)viewModel.IdTraslado); traslado.IdUsuario = viewModel.IdUsuario; traslado.IdBodegaOrigen = viewModel.IdBodegaOrigen; traslado.IdBodegaDestino = viewModel.IdBodegaDestino; traslado.Fecha = viewModel.Fecha; //traslado.FechaCreacion = viewModel.FechaCreacion; //traslado.Anulado = viewModel.Anulado; traslado.CostoTraslado = viewModel.CostoTraslado; traslado.Comentario = viewModel.Comentario; return(traslado); }
public TbPrTraslado ViewModelToDomain(TrasladoViewModel viewModel) { var domain = new TbPrTraslado { IdTraslado = viewModel.IdTraslado, IdUsuario = viewModel.IdUsuario, IdBodegaOrigen = viewModel.IdBodegaOrigen, IdBodegaDestino = viewModel.IdBodegaDestino, Fecha = viewModel.Fecha, FechaCreacion = viewModel.FechaCreacion, Anulado = viewModel.Anulado, CostoTraslado = viewModel.CostoTraslado, Comentario = viewModel.Comentario }; return(domain); }
public TbPrTraslado Update(TrasladoViewModel viewModel) { return(service.Update(ViewModelToDomainEditar(viewModel))); }
public TbPrTraslado Create(TrasladoViewModel viewModel) { return(service.Save(ViewModelToDomain(viewModel))); }
public ActionResult CrearEditarTraslado(TrasladoViewModel traslado, IList<TrasladoInventarioViewModel> inventarioTraslado, IList<long> eliminados) { TrasladoInventarioRepository rep = new TrasladoInventarioRepository(context); TbPrTraslado original = trasladoService.GetTrasladoById(traslado.IdTraslado); //adquiere todos los hijos asociados TbPrTraslado tr; Microsoft.EntityFrameworkCore.Storage.IDbContextTransaction trans = context.Database.BeginTransaction(); using (trans) { try { if (traslado.Comentario == null) { traslado.Comentario = ""; } if (traslado.IdTraslado != 0) { tr = trasladoService.GetTrasladoById(traslado.IdTraslado); if (inventarioTraslado.Count() > 0)//nuevas y editadas { foreach (var item in inventarioTraslado) { if (item.Id == 0) { tr.TbPrTrasladoInventario.Add(trasladoInventarioMap.ViewModelToDomain(item));//adquiere los hijos } else { tr.TbPrTrasladoInventario.FirstOrDefault(d => d.Id == item.Id).Id = item.Id; tr.TbPrTrasladoInventario.FirstOrDefault(d => d.Id == item.Id).IdTraslado = item.IdTraslado; tr.TbPrTrasladoInventario.FirstOrDefault(d => d.Id == item.Id).IdInventario = item.IdInventario; tr.TbPrTrasladoInventario.FirstOrDefault(d => d.Id == item.Id).CodigoArticulo = item.CodigoArticulo; tr.TbPrTrasladoInventario.FirstOrDefault(d => d.Id == item.Id).Descripcion = item.Descripcion; tr.TbPrTrasladoInventario.FirstOrDefault(d => d.Id == item.Id).Cantidad = item.Cantidad; tr.TbPrTrasladoInventario.FirstOrDefault(d => d.Id == item.Id).PrecioUnitario = item.PrecioUnitario; tr.TbPrTrasladoInventario.FirstOrDefault(d => d.Id == item.Id).CostoTotal = item.CostoTotal; } } } if (eliminados.Count() > 0) { var borrar = new List<TbPrTrasladoInventario>(); foreach (var item in eliminados) { borrar.Add(tr.TbPrTrasladoInventario.Where(f => f.Id == item).ElementAt(0)); tr.TbPrTrasladoInventario.Remove(tr.TbPrTrasladoInventario.Where(f => f.Id == item).ElementAt(0)); } context.RemoveRange(borrar); context.SaveChanges(); } tr.Comentario = traslado.Comentario; tr.CostoTraslado = traslado.CostoTraslado; tr.Fecha = traslado.Fecha; tr.Anulado = traslado.Anulado; context.Update(tr); kardexMap.CreateKardexTRI(tr,original, eliminados); context.SaveChanges(); } else { traslado.TrasladoInventarioDetalle = inventarioTraslado; traslado.IdUsuario = int.Parse(User.Claims.FirstOrDefault(x => x.Type == ClaimTypes.NameIdentifier)?.Value); //adquiere el id del usuario en session traslado.FechaCreacion = DateTime.Now; //adquiere la fecha traslado.Anulado = false;//por defecto false tr = trasladoMap.ViewModelToDomain(traslado);//obtiene al padre foreach (var item in inventarioTraslado) { tr.TbPrTrasladoInventario.Add(trasladoInventarioMap.ViewModelToDomain(item));//adquiere los hijos } context.Add(tr); context.SaveChanges(); kardexMap.CreateKardexTRI(tr, original, eliminados);//inserta en el kardex } trans.Commit(); return Json(new { success = true }); } catch (Exception ex) { trans.Rollback(); AltivaLog.Log.Insertar(ex.ToString(), "Error"); if (ex.HResult.ToString() == "-2146233088") { return BadRequest(new { rollback = true }); } else { return BadRequest(new { rollback = false }); } } } }