using CapacitacionAtesa.Model.Capacitacion; using CapacitacionAtesa.Model.Classes; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Ultimus.Interfaces; using Ultimus.Utilitarios; using Ultimus.Interfaces.UltimusForm; namespace CapacitacionAtesa.DataAccess.Capacitacion { public class DALSolicitud { public Solicitud Obtener(DbCapacitacion db, long Codigo) { if (Codigo == 0) { return null; } else { Solicitud Solicitud = db.Solicitud.AsNoTracking().Where(s => s.CodigoSolicitud == Codigo).FirstOrDefault(); //SolicitudDecision SolicitudDecision = db..AsNoTracking().Where(q => q.Codigo == Codigo && q.Etapa == Constantes.Proceso.Etapas.Aprobar).OrderByDescending(q => q.FechaFin).FirstOrDefault(); //Solicitud.Estado = SolicitudDecision == null ? null : SolicitudDecision.CodigoTipoDecision == (int)Constantes.CodigoTipoDecision.Aprobado ? "APROBADO" : "RECHAZADO"; return Solicitud; //return null; } } public void Guardar(DbCapacitacion db, Solicitud Solicitud, UltimusJson model) { if (Solicitud == null) { Solicitud = Obtener(db, model.CodigoSolicitud); } Solicitud.CodigoSolicitud = model.CodigoSolicitud; Solicitud ele = db.Solicitud.Where(s => s.CodigoSolicitud == Solicitud.CodigoSolicitud).FirstOrDefault(); if (ele == null) { //Solicitud.CodigoDesarrollador = Solicitud.CodigoDesarrollador == null ? 0 : Solicitud.CodigoDesarrollador; //Solicitud.Fecha = DateTime.Now; //Solicitud.Solicitante = model.UltimusUserFullName; Solicitud.CodigoSolicitud = db.Solicitud.Any() ? db.Solicitud.Max(q => q.CodigoSolicitud) + 1 : 1; Solicitud.FechaCreacion = DateTime.Now; Solicitud.UsuarioCreacion = model.UltimusUserID; db.Solicitud.Add(Solicitud); } else { //Solicitud.Fecha = ele.Fecha; //Solicitud.Solicitante = ele.Solicitante; Solicitud.FechaCreacion = ele.FechaCreacion; Solicitud.UsuarioCreacion = ele.UsuarioCreacion; Solicitud.FechaModificacion = DateTime.Now; Solicitud.UsuarioModificacion = model.UltimusUserID; //if (model.UltimusStep == Constantes.Proceso.Etapas.Generar) //{ // Solicitud.IDUsuarioGenerador = model.UltimusUserID; // Solicitud.UsuarioGenerador = model.UltimusUserFullName; // Solicitud.FechaDocumento = DateTime.Now; // To do: Generacion del Documento //} ele.CopyValueProperties(Solicitud); db.Entry(ele).State = System.Data.Entity.EntityState.Modified; } db.SaveChanges(); db.Commit(); } } }