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; } }
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; } }
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; } }
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; } }
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; } }
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; } }