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; } }
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 }); }
public TbPrRequisicion Update(RequisicionViewModel viewModel) { return(service.Update(ViewModelToDomain(viewModel))); }