public IActionResult CrearEditarRequisicion(RequisicionViewModel viewModel)
        {
            try
            {
                if (viewModel.Id != 0)
                {
                    if (viewModel.RequisicionDetalle != null)
                    {
                        IList <TbPrRequisicionDetalle> detallesToAnular = service.GetAllReqDetalleById(viewModel.RequisicionDetalle.Select(d => (int)d.Id).Where(d => d != 0).ToList());
                        kardexMap.CreateKardexRD(detallesToAnular, true);

                        var detalles = map.SaveOrUpdateRD(viewModel.RequisicionDetalle);
                        kardexMap.CreateKardexRD(detalles, false);
                    }

                    viewModel.RequisicionDetalle = null;
                    var req = map.Update(viewModel);
                }
                else
                {
                    viewModel.IdUsuario = int.Parse(User.Claims.FirstOrDefault(x => x.Type == ClaimTypes.NameIdentifier)?.Value);
                    var req = map.Create(viewModel);
                    kardexMap.CreateKardexRD(req.TbPrRequisicionDetalle.ToList(), false);
                }

                return(Json(new { success = true }));
            }
            catch (Exception ex)
            {
                AltivaLog.Log.Insertar(ex.ToString(), "Error");
                throw;
            }
        }
Пример #2
0
 public TbPrRequisicion ViewModelToDomain(RequisicionViewModel viewModel)
 {
     return(new TbPrRequisicion
     {
         Id = viewModel.Id,
         Anulado = viewModel.Anulado,
         Descripcion = viewModel.Descripcion,
         Fecha = viewModel.Fecha,
         FechaCreacion = DateTime.Now,
         IdDepartamento = viewModel.IdDepartamento,
         IdBodega = viewModel.IdBodega,
         IdUsuario = viewModel.IdUsuario,
         Total = viewModel.Total,
         TbPrRequisicionDetalle = viewModel.RequisicionDetalle != null?ViewModelToDomaineRD(viewModel.RequisicionDetalle) : null
     });
 }
Пример #3
0
 public TbPrRequisicion Update(RequisicionViewModel viewModel)
 {
     return(service.Update(ViewModelToDomain(viewModel)));
 }