Beispiel #1
0
        public static CodificacionEquipo ConsultarCodificacionEquipo(int id)
        {
            CodificacionEquipo objeto = new CodificacionEquipo();

            try
            {
                objeto = db.ConsultarCodificacionEquipo(id).FirstOrDefault();
                return(objeto);
            }
            catch (Exception)
            {
                return(objeto);
            }
        }
Beispiel #2
0
        public static RespuestaTransaccion ActualizarCodificacionEquipo(CodificacionEquipo objeto, List <DetalleCodificacionEquipo> detalles)
        {
            using (var transaction = db.Database.BeginTransaction())
            {
                try
                {
                    var equiposDuplicados = detalles.GroupBy(x => x.EquipoID).Any(g => g.Count() > 1);

                    var detallesIDs = detalles.Select(s => s.IDDetalleCodificacionEquipo).ToList();

                    var detallesFactura     = detalles.Select(s => s.Factura).ToList();
                    var detallesSerieEquipo = detalles.Select(s => s.SerieEquipo).ToList();

                    bool facturaRegistrada = db.DetalleCodificacionEquipo.Any(s => detallesFactura.Contains(s.Factura) && !detallesIDs.Contains(s.IDDetalleCodificacionEquipo));

                    bool serieEquipo = db.DetalleCodificacionEquipo.Any(s => detallesSerieEquipo.Contains(s.SerieEquipo) && !detallesIDs.Contains(s.IDDetalleCodificacionEquipo));

                    if (equiposDuplicados)
                    {
                        return new RespuestaTransaccion {
                                   Estado = false, Respuesta = Mensajes.MensajeEquiposRepetidos
                        }
                    }
                    ;

                    //Si la factura ya se encuentra en el sistema
                    if (facturaRegistrada)
                    {
                        return new RespuestaTransaccion {
                                   Estado = false, Respuesta = Mensajes.MensajeFacturaRepetida
                        }
                    }
                    ;

                    if (serieEquipo)
                    {
                        return new RespuestaTransaccion {
                                   Estado = false, Respuesta = Mensajes.MensajeSerieEquipoRepetida
                        }
                    }
                    ;

                    // assume Entity base class have an Id property for all items
                    var entity = db.CodificacionEquipo.Find(objeto.IDCodificacionEquipo);
                    if (entity == null)
                    {
                        return(new RespuestaTransaccion {
                            Estado = false, Respuesta = Mensajes.MensajeTransaccionFallida
                        });
                    }

                    db.Entry(entity).CurrentValues.SetValues(objeto);
                    db.SaveChanges();

                    int fechaIngresoID = objeto.IDCodificacionEquipo;

                    #region Actualizar Detalles
                    // Limpiar primero los detalles anteriores
                    var detallesAnteriores = db.DetalleCodificacionEquipo.Where(s => s.CodificacionEquipoID == fechaIngresoID).ToList();
                    foreach (var item in detallesAnteriores)
                    {
                        db.DetalleCodificacionEquipo.Remove(item);
                        db.SaveChanges();
                    }
                    //Registrar nuevos detalles
                    foreach (var item in detalles)
                    {
                        item.CodificacionEquipoID = fechaIngresoID;
                        db.DetalleCodificacionEquipo.Add(item);
                        db.SaveChanges();
                    }
                    #endregion

                    transaction.Commit();

                    return(new RespuestaTransaccion {
                        Estado = true, Respuesta = Mensajes.MensajeTransaccionExitosa
                    });
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    return(new RespuestaTransaccion {
                        Estado = false, Respuesta = Mensajes.MensajeTransaccionFallida + " ;" + ex.Message.ToString()
                    });
                }
            }
        }
Beispiel #3
0
        public static RespuestaTransaccion CrearCodificacionEquipo(CodificacionEquipo objeto, List <DetalleCodificacionEquipo> detalles)
        {
            using (var transaction = db.Database.BeginTransaction())
            {
                try
                {
                    var equiposDuplicados = detalles.GroupBy(x => x.EquipoID).Any(g => g.Count() > 1);

                    var detallesFactura     = detalles.Select(s => s.Factura).ToList();
                    var detallesSerieEquipo = detalles.Select(s => s.SerieEquipo).ToList();

                    bool facturaRegistrada = db.DetalleCodificacionEquipo.Any(s => detallesFactura.Contains(s.Factura));

                    bool serieEquipo = db.DetalleCodificacionEquipo.Any(s => detallesSerieEquipo.Contains(s.SerieEquipo));

                    if (equiposDuplicados)
                    {
                        return new RespuestaTransaccion {
                                   Estado = false, Respuesta = Mensajes.MensajeEquiposRepetidos
                        }
                    }
                    ;

                    //Si la factura ya se encuentra en el sistema
                    if (facturaRegistrada)
                    {
                        return new RespuestaTransaccion {
                                   Estado = false, Respuesta = Mensajes.MensajeFacturaRepetida
                        }
                    }
                    ;

                    if (serieEquipo)
                    {
                        return new RespuestaTransaccion {
                                   Estado = false, Respuesta = Mensajes.MensajeSerieEquipoRepetida
                        }
                    }
                    ;

                    db.CodificacionEquipo.Add(objeto);
                    db.SaveChanges();

                    int CodificacionEquipoID = objeto.IDCodificacionEquipo;

                    foreach (var item in detalles)
                    {
                        item.CodificacionEquipoID = CodificacionEquipoID;

                        db.DetalleCodificacionEquipo.Add(item);
                        db.SaveChanges();
                    }

                    transaction.Commit();

                    return(new RespuestaTransaccion {
                        Estado = true, Respuesta = Mensajes.MensajeTransaccionExitosa
                    });
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    return(new RespuestaTransaccion {
                        Estado = false, Respuesta = Mensajes.MensajeTransaccionFallida + " ;" + ex.Message.ToString()
                    });
                }
            }
        }