public JsonResult GuardarFacturas(int IdFacturas, int frIdEmpresa, int Cliente, string NombreProyecto, string fecha_inicio, string fecha_fin, decimal Costo, int Moneda, int CantidadFacturas, int TipoCambio, int IVA, int estado, string Comentarios) { var proyecto = new ProyectosDTO(); //if (IdFacturas != 0) proyecto.Id_Proyectos = IdFacturas; //proyecto.Id_Empresa = frIdEmpresa; //proyecto.Id_Clientes_Proyectos = Cliente; //proyecto.Nombre_Proyectos = NombreProyecto; //proyecto.Numero_Facturas_Proyectos = CantidadFacturas; //proyecto.Fecha_Ini_Proyectos = Convert.ToDateTime(fecha_inicio); //if (fecha_fin != string.Empty) proyecto.Fecha_Fin_Proyectos = Convert.ToDateTime(fecha_fin); //proyecto.Costo_Proyectos = Costo; //proyecto.Id_Tipo_Cambio_Proyectos = TipoCambio; //proyecto.Id_Moneda_Proyectos = Moneda; //proyecto.Id_IVA_Proyectos = IVA; //proyecto.Comentarios_Proyecto = Comentarios; //proyecto.Estado = estado == 1; var gdProyecto = new ProyectosData().GuardarProyecto(proyecto); if (gdProyecto.Code != 0) { return(Json(new { success = false, message = gdProyecto.Message }, JsonRequestBehavior.AllowGet)); } return(Json(new { success = true }, JsonRequestBehavior.AllowGet)); }
public JsonResult GuardarProyecto(int idProyecto, int frIdEmpresa, int Cliente, string NombreProyecto, string fecha_inicio, string fecha_fin, decimal Costo, int Moneda, int CantidadFacturas, int TipoCambio, int IVA, int estado, string Comentarios, string tablaJSON) { var proyecto = new ProyectosDTO(); if (idProyecto != 0) { proyecto.Id_Proyectos = idProyecto; } proyecto.Id_Empresa = frIdEmpresa; proyecto.Id_Clientes_Proyectos = Cliente; proyecto.Nombre_Proyectos = NombreProyecto; proyecto.Numero_Facturas_Proyectos = CantidadFacturas; proyecto.Fecha_Ini_Proyectos = Convert.ToDateTime(fecha_inicio); if (fecha_fin != string.Empty) { proyecto.Fecha_Fin_Proyectos = Convert.ToDateTime(fecha_fin); } proyecto.Costo_Proyectos = Costo; proyecto.Id_Tipo_Cambio_Proyectos = TipoCambio; proyecto.Id_Moneda_Proyectos = Moneda; proyecto.Id_IVA_Proyectos = IVA; proyecto.Comentarios_Proyecto = Comentarios; proyecto.Estado = estado == 1; var factLts = new List <FacturasDTO>(); #region JSN Facturas var jArray = JArray.Parse(tablaJSON); JObject a = JObject.Parse(jArray.First().ToString()); foreach (var prod in ((JArray)a.SelectToken("ltsFacturas"))) { var facturaJ = new FacturasDTO(); facturaJ.IdFactura = Convert.ToInt16(((JValue)prod.SelectToken("IdFactura")).Value); facturaJ.Monto_Factura = Convert.ToDecimal(((JValue)prod.SelectToken("Monto")).Value); facturaJ.Fecha_fin_Factura = Convert.ToDateTime(((JValue)prod.SelectToken("Fecha")).Value); facturaJ.IdCliente = Cliente; facturaJ.IdEmpresa = frIdEmpresa; if (idProyecto != 0) { facturaJ.IdProyecto = idProyecto; } facturaJ.C_Id_IVA = IVA; facturaJ.C_Id_Moneda = Moneda; facturaJ.C_Id_Tipo_Cambio = TipoCambio; facturaJ.Tipo_Factura = "PR"; var EstadoFact = ((JValue)prod.SelectToken("Estado")).Value.ToString(); facturaJ.Id_Estado_Factura = Convert.ToInt16(EstadoFact.Equals("SI") ? 2 :(EstadoFact.Equals("NO") ? 1 : 3)); if (((JValue)prod.SelectToken("NoFactura")).Value.ToString() != "0") { facturaJ.No_Factura = Convert.ToInt16(((JValue)prod.SelectToken("NoFactura")).Value); } factLts.Add(facturaJ); } #endregion proyecto.facturas = factLts; var gdProyecto = new ProyectosData().GuardarProyecto(proyecto); if (gdProyecto.Code != 0) { return(Json(new { success = false, message = gdProyecto.Message }, JsonRequestBehavior.AllowGet)); } return(Json(new { success = true }, JsonRequestBehavior.AllowGet)); }
/// <summary> /// Guardar Proyecto /// </summary> /// <returns>Lista de tipo asignacion</returns> public MethodResponseDTO <int> GuardarProyecto(ProyectosDTO proyecto) { using (var context = new DB_9F97CF_CatarsysSGCEntities()) { try { var response = new MethodResponseDTO <int>() { Code = 0, Result = 1 }; if (proyecto.Id_Proyectos == 0) { var proyectoDB = Mapper.Map <Proyectos>(proyecto); context.Proyectos.Add(proyectoDB); } else { var asig = context.Proyectos.SingleOrDefault(x => x.Id_Proyectos == proyecto.Id_Proyectos); asig.Id_Proyectos = proyecto.Id_Proyectos; asig.Id_Clientes_Proyectos = proyecto.Id_Clientes_Proyectos; asig.Id_Empresa = proyecto.Id_Empresa; asig.Nombre_Proyectos = proyecto.Nombre_Proyectos; asig.Fecha_Ini_Proyectos = proyecto.Fecha_Ini_Proyectos; asig.Fecha_Fin_Proyectos = proyecto.Fecha_Fin_Proyectos; asig.Costo_Proyectos = proyecto.Costo_Proyectos; asig.Id_Moneda_Proyectos = proyecto.Id_Moneda_Proyectos; asig.Numero_Facturas_Proyectos = proyecto.Numero_Facturas_Proyectos; asig.Id_Tipo_Cambio_Proyectos = proyecto.Id_Tipo_Cambio_Proyectos; asig.Id_IVA_Proyectos = proyecto.Id_IVA_Proyectos; asig.Estado = proyecto.Estado; } context.SaveChanges(); var _FacturasData = new FacturasData(); var BrFacturas = _FacturasData.BorrarFacturas(proyecto.Id_Proyectos, 1); if (BrFacturas.Code != 0) { return(new MethodResponseDTO <int> { Code = -100, Result = 0, Message = "Borrar Facturas: " + BrFacturas.Message }); } var Facturas = _FacturasData.GuardarFacturas(proyecto.facturas); if (Facturas.Code != 0) { return(new MethodResponseDTO <int> { Code = -100, Result = 0, Message = "Guardar Facturas: " + Facturas.Message }); } return(response); } catch (DbEntityValidationException e) { string Result = string.Empty; foreach (var eve in e.EntityValidationErrors) { Result += string.Format("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", eve.Entry.Entity.GetType().Name, eve.Entry.State); foreach (var ve in eve.ValidationErrors) { Result += string.Format("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage); } } Result += ("Code: -100, Mensaje: " + e.Message + ", InnerException: " + (e.InnerException != null ? e.InnerException.Message : "")); return(new MethodResponseDTO <int> { Code = -100, Result = 0, Message = e.Message }); } catch (Exception ex) { return(new MethodResponseDTO <int> { Code = -100, Result = 0, Message = "Guardar Proyecto: " + ex.Message }); } } }