コード例 #1
0
        public async Task <Guid> CrearCliente(Cliente cliente, UsuarioDTO usuario)
        {
            try
            {
                var existeCliente = _context.Cliente.Any(d => d.Nit == cliente.Nit);
                if (existeCliente)
                {
                    throw new Exception("Ya hay un cliente registrado con este Nit");
                }
                cliente.Guid          = Guid.NewGuid();
                cliente.FechaRegistro = DateTime.Now;
                if (cliente.Lineas != null)
                {
                    foreach (ClienteLinea linea in cliente.Lineas)
                    {
                        linea.Guid          = Guid.NewGuid();
                        linea.FechaRegistro = DateTime.Now;
                    }
                }
                _context.Cliente.Add(cliente);
                await _context.SaveChangesAsync();

                return(cliente.Guid);
            }
            catch (Exception) { throw; }
        }
コード例 #2
0
        public async Task <bool> ActualizarDocumentoAdjunto(DocumentoAdjunto documentoAdjunto)
        {
            try
            {
                var dbAttachment = await _context.DocumentoAdjunto.Where(att => att.Id == documentoAdjunto.Id).FirstOrDefaultAsync();

                documentoAdjunto.FechaModifica     = DateTime.Now;
                documentoAdjunto.Guid              = dbAttachment.Guid;
                documentoAdjunto.NombreUsuarioCrea = dbAttachment.NombreUsuarioCrea;
                documentoAdjunto.FechaRegistro     = dbAttachment.FechaRegistro;

                _context.Entry(dbAttachment).Property(x => x.Id).IsModified = false;

                //Update attachment
                _context.Entry(dbAttachment).CurrentValues.SetValues(documentoAdjunto);

                _context.Entry(dbAttachment).State     = EntityState.Detached;
                _context.Entry(documentoAdjunto).State = EntityState.Modified;

                return(await _context.SaveChangesAsync() > 0);
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #3
0
        public async Task <Guid> CrearFormato(Formato formato, UsuarioDTO usuario)
        {
            try
            {
                if (formato.FormatoTiposConexion != null)
                {
                    foreach (var tipo in formato.FormatoTiposConexion)
                    {
                        _context.Entry(tipo.TipoConexion).State = EntityState.Detached;
                        _context.Entry(tipo).State = tipo.Id <= 0 ? EntityState.Added : EntityState.Modified;
                    }
                }

                if (formato.Codigo != null)
                {
                    var exitesCodigo = await _context.Formato.AnyAsync(d => d.Codigo == formato.Codigo);

                    if (exitesCodigo)
                    {
                        throw new Exception("El codigo de para este formato ya existe, por favor intente otro");
                    }
                }
                formato.Guid              = Guid.NewGuid();
                formato.GuidUsuarioCrea   = Guid.NewGuid();
                formato.NombreUsuarioCrea = "USUARIO CREA";
                formato.FechaRegistro     = DateTime.Now;


                _context.Formato.Add(formato);



                await _context.SaveChangesAsync();

                return(formato.Guid);
            }
            catch (Exception e)
            {
                throw e;
            }
        }
コード例 #4
0
        public async Task <bool> ActualizarEstadoRemision(string estado, Guid guidRemision, UsuarioDTO usuario)
        {
            try
            {
                var remision = await _context.Remision.FirstOrDefaultAsync(r => r.Guid == guidRemision);

                Int32.TryParse(estado, out int estadoid);
                var estadoId = (await _context.Catalogo
                                .FirstOrDefaultAsync(a => a.Valor == estado || a.Id == estadoid && a.Grupo == CanonicalConstants.Grupos.EstadosRemision)).Id;

                switch (estadoId)
                {
                case (int)ESTADOSREMISION.ANULAR:
                    remision.UsuarioAnula   = "usuario anula";
                    remision.FechaAnulacion = DateTime.Now;
                    break;

                case (int)ESTADOSREMISION.CERRAR:
                    if (remision.ImagenRemisionId == null)
                    {
                        throw new ApplicationException("Debe tener una remisión escaneada.");
                    }
                    break;

                default:
                    break;
                }

                remision.EstadoId      = estadoId;
                remision.FechaModifica = DateTime.Now;

                _context.Entry(remision).State = EntityState.Modified;

                return(await _context.SaveChangesAsync() > 0);
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #5
0
        public async Task <bool> ActualizarEstadoOrdenDeTrabajo(Guid guid, string estado, UsuarioDTO usuario)
        {
            try
            {
                var oit = await _context.OrdenTrabajo.FirstOrDefaultAsync(a => a.Guid == guid);

                Int32.TryParse(estado, out int estadoid);
                var estadoId = (await _context.Catalogo
                                .FirstOrDefaultAsync(a => a.Valor == estado || a.Id == estadoid && a.Grupo == "ESTADOS_ORDENTRABAJO"))?.Id;

                oit.EstadoId = estadoId
                               ?? throw new ApplicationException(CanonicalConstants.Excepciones.EstadoSolicitudNoEncontrado);
                oit.FechaModifica = DateTime.Now;
                _context.OrdenTrabajo.Add(oit);
                _context.Entry(oit).State = EntityState.Modified;
                return(await _context.SaveChangesAsync() > 0);
            }
            catch (Exception e) { throw e; }
        }
コード例 #6
0
        public async Task <bool> ActualizarHerramienta(Herramienta herramienta, UsuarioDTO usuario)
        {
            try
            {
                var existeHerramienta = _context.Herramienta.Where(h => h.Nombre.ToLower() == herramienta.Nombre.ToLower());
                var validar           = existeHerramienta.Where(h => h.Guid != herramienta.Guid).Count();
                if (validar > 0)
                {
                    throw new ApplicationException("Ya existe una herramienta registrada con el mismo nombre.");
                }

                var herramientaBD = await _context.Herramienta.AsNoTracking()
                                    .Include(c => c.Materiales).ThenInclude(d => d.Material)
                                    .Include(c => c.TamanosHerramienta)
                                    .Include(c => c.TamanosMotor)
                                    .Include(c => c.HerramientaEstudioFactibilidad)
                                    .SingleOrDefaultAsync(c => c.Id == herramienta.Id);

                _context.Entry(herramientaBD).CurrentValues.SetValues(herramienta);


                #region Actualizar Materiales
                /*actualiza el estado los materiales de la base de datos*/
                foreach (var MaterialesDB in herramientaBD.Materiales)
                {
                    if (!herramienta.Materiales.Any(dNew => dNew.Id == MaterialesDB.Id && dNew.Estado.Equals(true)))
                    {
                        MaterialesDB.Estado        = false;
                        MaterialesDB.FechaModifica = DateTime.Now;
                        _context.HerramientaMaterial.Update(MaterialesDB);
                    }
                }

                /*Agrega Materiales*/
                foreach (var materiales in herramienta.Materiales)
                {
                    if (herramientaBD.Materiales.Where(m => m.MaterialId == materiales.MaterialId && m.Estado.Equals(false)).Any())
                    {
                        var actualizarMaterial = herramientaBD.Materiales.Where(m => m.MaterialId == materiales.MaterialId && m.Estado.Equals(false)).FirstOrDefault();
                        actualizarMaterial.FechaModifica = DateTime.Now;
                        actualizarMaterial.Estado        = true;
                        _context.HerramientaMaterial.Update(actualizarMaterial);
                    }
                    else if (!herramientaBD.Materiales.Any(ddb => ddb.Id == materiales.Id))
                    {
                        materiales.Herramienta   = null;
                        materiales.HerramientaId = herramientaBD.Id;
                        materiales.Guid          = Guid.NewGuid();
                        materiales.FechaRegistro = DateTime.Now;
                        materiales.Material      = null;
                        _context.HerramientaMaterial.Add(materiales);
                    }
                }

                #endregion

                if (herramienta.EsHerramientaMotor == false)
                {
                    //foreach (var tamanosHerrmienta in herramientaBD.TamanosHerramienta)
                    //{
                    //    tamanosHerrmienta.Estado = false;
                    //    tamanosHerrmienta.FechaModifica = DateTime.Now;
                    //    _context.HerramientaTamano.Update(tamanosHerrmienta);
                    //}
                    foreach (var tamanosMotor in herramientaBD.TamanosMotor)
                    {
                        tamanosMotor.Estado        = false;
                        tamanosMotor.FechaModifica = DateTime.Now;
                        _context.HerramientaTamanoMotor.Update(tamanosMotor);
                    }
                }
                else
                {
                    #region Actualizar TamanosMotor

                    /*Acualiza el estado a false los tamaños de motor de la base de datos*/
                    foreach (var tamanosMotor in herramientaBD.TamanosMotor)
                    {
                        if (!herramienta.TamanosMotor.Any(dNew => dNew.Id == tamanosMotor.Id))
                        {
                            tamanosMotor.Estado        = false;
                            tamanosMotor.FechaModifica = DateTime.Now;
                            _context.HerramientaTamanoMotor.Update(tamanosMotor);
                        }
                    }

                    /*Agrega tamaños de motor, si ya existe solo le cambia el estado a true y si no existe crea un nuevo tamaño de motor */
                    foreach (var tamanosMotorAdd in herramienta.TamanosMotor)
                    {
                        if (herramientaBD.TamanosMotor.Where(th => th.Tamano.ToLower() == tamanosMotorAdd.Tamano.ToLower() && th.Estado.Equals(false)).Any())
                        {
                            var actualizarTamanoMotor = herramientaBD.TamanosMotor.Where(th => th.Tamano.ToLower() == tamanosMotorAdd.Tamano.ToLower() && th.Estado.Equals(false)).FirstOrDefault();
                            actualizarTamanoMotor.FechaModifica = DateTime.Now;
                            actualizarTamanoMotor.Estado        = true;
                            _context.HerramientaTamanoMotor.Update(actualizarTamanoMotor);
                        }
                        else if (!herramientaBD.TamanosMotor.Any(ddb => ddb.Id == tamanosMotorAdd.Id))
                        {
                            tamanosMotorAdd.Herramienta   = null;
                            tamanosMotorAdd.HerramientaId = herramientaBD.Id;
                            tamanosMotorAdd.Guid          = Guid.NewGuid();
                            tamanosMotorAdd.FechaRegistro = DateTime.Now;
                            _context.HerramientaTamanoMotor.Add(tamanosMotorAdd);
                        }
                    }
                    #endregion
                }

                #region Actualizar TamanosHerramienta


                /*actaliza el estado los tamaños de herramienta de la base de datos*/
                foreach (var tamanosHerrmienta in herramientaBD.TamanosHerramienta)
                {
                    if (!herramienta.TamanosHerramienta.Any(dNew => dNew.Id == tamanosHerrmienta.Id))
                    {
                        tamanosHerrmienta.Estado        = false;
                        tamanosHerrmienta.FechaModifica = DateTime.Now;
                        _context.HerramientaTamano.Update(tamanosHerrmienta);
                    }
                }

                /*Agrega tamaños de herramienta*/
                foreach (var tamanosHerrmientaAdd in herramienta.TamanosHerramienta)
                {
                    if (herramientaBD.TamanosHerramienta.Where(th => th.Tamano.ToLower() == tamanosHerrmientaAdd.Tamano.ToLower() && th.Estado.Equals(false)).Any())
                    {
                        var actualizarTamanoHerramienta = herramientaBD.TamanosHerramienta.Where(th => th.Tamano.ToLower() == tamanosHerrmientaAdd.Tamano.ToLower() && th.Estado.Equals(false)).FirstOrDefault();
                        actualizarTamanoHerramienta.FechaModifica = DateTime.Now;
                        actualizarTamanoHerramienta.Estado        = true;
                        _context.HerramientaTamano.Update(actualizarTamanoHerramienta);
                    }
                    else if (!herramientaBD.TamanosHerramienta.Any(ddb => ddb.Id == tamanosHerrmientaAdd.Id))
                    {
                        tamanosHerrmientaAdd.Herramienta   = null;
                        tamanosHerrmientaAdd.HerramientaId = herramientaBD.Id;
                        tamanosHerrmientaAdd.Guid          = Guid.NewGuid();
                        tamanosHerrmientaAdd.FechaRegistro = DateTime.Now;
                        _context.HerramientaTamano.Add(tamanosHerrmientaAdd);
                    }
                }

                #endregion

                herramientaBD.HerramientaEstudioFactibilidad.Admin         = herramienta.HerramientaEstudioFactibilidad.Admin;
                herramientaBD.HerramientaEstudioFactibilidad.ManoObra      = herramienta.HerramientaEstudioFactibilidad.ManoObra;
                herramientaBD.HerramientaEstudioFactibilidad.Mantenimiento = herramienta.HerramientaEstudioFactibilidad.Mantenimiento;
                herramientaBD.HerramientaEstudioFactibilidad.Maquina       = herramienta.HerramientaEstudioFactibilidad.Maquina;
                herramientaBD.HerramientaEstudioFactibilidad.Material      = herramienta.HerramientaEstudioFactibilidad.Material;
                herramientaBD.HerramientaEstudioFactibilidad.Metodo        = herramienta.HerramientaEstudioFactibilidad.Metodo;
                herramientaBD.HerramientaEstudioFactibilidad.FechaModifica = DateTime.Now;;

                _context.HerramientaEstudioFactibilidad.Update(herramientaBD.HerramientaEstudioFactibilidad);
                herramientaBD.FechaModifica = DateTime.Now;
                _context.Entry(herramientaBD).Property("FechaRegistro").IsModified     = false;
                _context.Entry(herramientaBD).Property("NombreUsuarioCrea").IsModified = false;
                _context.Entry(herramientaBD).Property("GuidUsuarioCrea").IsModified   = false;

                _context.Entry(herramientaBD).State = EntityState.Modified;
                return(await _context.SaveChangesAsync() > 0);
            }
            catch (Exception e) { throw e; }
        }