public ActionResult CrearEditarGasto(CompraServicioViewModel viewModel, IList <ComprasDetalleServicioViewModel> model2, int estado) { try { if (viewModel.Id != 0 || model2.Count() > 0) { var compra = service.GetCompraByDocumento(viewModel.NumeroDocumento, viewModel.TipoDocumento, viewModel.IdProveedor); if (compra == null || compra.Id == viewModel.Id) { long idCD = 0; if (estado == 1) { if (viewModel.ComprasDetalleServicio != null && viewModel.ComprasDetalleServicio.Count() > 0 && model2.Count() == 0) { var c = map.UpdateGasto(viewModel); var cd = map.CreateCDS(viewModel); idCD = cd.IdCompraDetalle; } } var G = map.UpdateGasto(viewModel); if (estado == 2) { if (model2.Count() > 0) { viewModel.ComprasDetalleServicio = model2; var cds = map.UpdateCDS(viewModel); } } return(Json(new { success = true, idCD = idCD })); } else { return(Json(new { success = false })); } } else { if (!service.ExisteDocumento(viewModel.NumeroDocumento, viewModel.TipoDocumento, (int)viewModel.IdProveedor)) { viewModel.IdUsuario = int.Parse(User.Claims.FirstOrDefault(x => x.Type == ClaimTypes.NameIdentifier)?.Value); var compra = map.CreateGasto(viewModel); return(Json(new { success = true, idCompra = compra.Id })); } else { return(Json(new { success = false })); } } } catch (Exception ex) { AltivaLog.Log.Insertar(ex.ToString(), "Error"); throw; } }
public ActionResult CrearEditarCompra(CompraViewModel viewModel) { try { if (viewModel.NumeroDocumento == null || viewModel.NumeroDocumento == "AutogeneradoXML") { viewModel.NumeroDocumento = "AutogeneradoXML" + (service.IdUltimoDocumento() + 1).ToString(); } if (viewModel.Id != 0) { var compra = service.GetCompraByDocumento(viewModel.NumeroDocumento, viewModel.TipoDocumento, viewModel.IdProveedor); if (compra == null || compra.Id == viewModel.Id) { long idCD = 0; if (viewModel.CompraDetalle != null && viewModel.CompraDetalle[0].Id != 0) { idCD = viewModel.CompraDetalle[0].Id; if (!viewModel.Borrador) { kardexMap.CreateKardexEliminarCDSingle((int)idCD); } map.UpdateCD(viewModel); viewModel.CompraDetalle = null; } var c = map.Update(viewModel); if (viewModel.CompraDetalle != null) { idCD = c.TbPrCompraDetalle.FirstOrDefault().Id; } if (!viewModel.Borrador && idCD != 0) { kardexMap.CreateKardexCDSingle((int)idCD); } if (c.EnCola) { haciendaMap.CreateCACompra(compra); } return(Json(new { success = true, idCD = idCD })); } else { return(Json(new { success = false })); } } else { if (!service.ExisteDocumento(viewModel.NumeroDocumento, viewModel.TipoDocumento, (int)viewModel.IdProveedor)) { viewModel.IdUsuario = int.Parse(User.Claims.FirstOrDefault(x => x.Type == ClaimTypes.NameIdentifier)?.Value); var compra = map.Create(viewModel); if (!compra.Borrador) { kardexMap.CreateKardexCD((int)compra.TbPrCompraDetalle.FirstOrDefault().Id); } return(Json(new { success = true, idCompra = compra.Id })); } else { return(Json(new { success = false })); } } } catch (Exception ex) { AltivaLog.Log.Insertar(ex.ToString(), "Error"); throw; } }