public void GuardarModificarKardexReactivo(CC_KARDEX_REACTIVO model, List <CC_KARDEX_REACTIVO_DETALLE> detalle)
        {
            using (ASIS_PRODEntities entities = new ASIS_PRODEntities())
            {
                using (var transaction = entities.Database.BeginTransaction())
                {
                    CC_KARDEX_REACTIVO poControlReporte = entities.CC_KARDEX_REACTIVO.FirstOrDefault(x => x.Fecha == model.Fecha && x.EstadoRegistro == clsAtributos.EstadoRegistroActivo);
                    var idReactivo = 0;
                    if (poControlReporte != null)
                    {
                        poControlReporte.TerminalModificacionLog = model.TerminalIngresoLog;
                        poControlReporte.UsuarioModificacionLog  = model.UsuarioIngresoLog;
                        poControlReporte.FechaModificacionLog    = model.FechaIngresoLog;
                        idReactivo = poControlReporte.IdKardexReactivo;
                    }
                    else
                    {
                        entities.CC_KARDEX_REACTIVO.Add(model);
                        entities.SaveChanges();
                        idReactivo = model.IdKardexReactivo;
                    }

                    foreach (var x in detalle)
                    {
                        var modelDetalle = entities.CC_KARDEX_REACTIVO_DETALLE.FirstOrDefault(y => y.IdKardexReactivo == idReactivo &&
                                                                                              y.IdReactivo == x.IdReactivo && y.EstadoRegistro == clsAtributos.EstadoRegistroActivo);

                        if (modelDetalle != null)
                        {
                            x.UsuarioModificacionLog  = model.UsuarioModificacionLog;
                            x.FechaModificacionLog    = model.FechaModificacionLog;
                            x.TerminalModificacionLog = model.TerminalModificacionLog;
                            x.EstadoRegistro          = clsAtributos.EstadoRegistroActivo;
                            modelDetalle.Valor        = x.Valor;
                        }
                        else
                        {
                            x.IdKardexReactivo   = idReactivo;
                            x.UsuarioIngresoLog  = model.UsuarioIngresoLog;
                            x.FechaIngresoLog    = model.FechaIngresoLog;
                            x.TerminalIngresoLog = model.TerminalIngresoLog;
                            x.EstadoRegistro     = clsAtributos.EstadoRegistroActivo;
                            entities.CC_KARDEX_REACTIVO_DETALLE.Add(x);
                        }
                    }

                    entities.SaveChanges();
                    transaction.Commit();
                }
            }
        }
Example #2
0
 public ActionResult EliminarKardexReactivo(CC_KARDEX_REACTIVO model)
 {
     try
     {
         lsUsuario = User.Identity.Name.Split('_');
         if (string.IsNullOrEmpty(lsUsuario[0]))
         {
             return(Json("101", JsonRequestBehavior.AllowGet));
         }
         clsDPeriodo = new clsDPeriodo();
         if (!clsDPeriodo.ValidaFechaPeriodo(model.Fecha))
         {
             return(Json("800", JsonRequestBehavior.AllowGet));
         }
         if (model == null)
         {
             return(Json("0", JsonRequestBehavior.AllowGet));
         }
         model.FechaIngresoLog    = DateTime.Now;
         model.TerminalIngresoLog = Request.UserHostAddress;
         model.UsuarioIngresoLog  = lsUsuario[0];
         model.EstadoRegistro     = clsAtributos.EstadoRegistroInactivo;
         ClsdKardexReactivo       = new ClsdKardexReactivo();
         if (ClsdKardexReactivo.ConsultaKardexReactivoControl(model.Fecha).Any(x => x.EstadoReporte))
         {
             return(Json(1, JsonRequestBehavior.AllowGet));
         }
         ClsdKardexReactivo.EliminarKardexReactivo(model);
         return(Json("Registro Eliminado", JsonRequestBehavior.AllowGet));
     }
     catch (DbEntityValidationException e)
     {
         Response.StatusCode = (int)HttpStatusCode.InternalServerError;
         clsDError           = new clsDError();
         lsUsuario           = User.Identity.Name.Split('_');
         string Mensaje = clsDError.ControlError(lsUsuario[0], Request.UserHostAddress, this.ControllerContext.RouteData.Values["controller"].ToString(),
                                                 "Metodo: " + this.ControllerContext.RouteData.Values["action"].ToString(), null, e);
         return(Json(Mensaje, JsonRequestBehavior.AllowGet));
     }
     catch (Exception ex)
     {
         Response.StatusCode = (int)HttpStatusCode.InternalServerError;
         clsDError           = new clsDError();
         lsUsuario           = User.Identity.Name.Split('_');
         string Mensaje = clsDError.ControlError(lsUsuario[0], Request.UserHostAddress, this.ControllerContext.RouteData.Values["controller"].ToString(),
                                                 "Metodo: " + this.ControllerContext.RouteData.Values["action"].ToString(), ex, null);
         return(Json(Mensaje, JsonRequestBehavior.AllowGet));
     }
 }
 public void EliminarKardexReactivo(CC_KARDEX_REACTIVO model)
 {
     using (ASIS_PRODEntities entities = new ASIS_PRODEntities())
     {
         var poControl = entities.CC_KARDEX_REACTIVO.FirstOrDefault(x => x.Fecha == model.Fecha && x.EstadoRegistro == clsAtributos.EstadoRegistroActivo);
         if (poControl != null)
         {
             poControl.EstadoRegistro          = clsAtributos.EstadoRegistroInactivo;
             poControl.TerminalModificacionLog = model.TerminalIngresoLog;
             poControl.UsuarioModificacionLog  = model.UsuarioIngresoLog;
             poControl.FechaModificacionLog    = model.FechaIngresoLog;
             entities.SaveChanges();
         }
     }
 }
 public void Aprobar_ReporteKardexReactivo(CC_KARDEX_REACTIVO controlCloro)
 {
     using (ASIS_PRODEntities db = new ASIS_PRODEntities())
     {
         var model = db.CC_KARDEX_REACTIVO.FirstOrDefault(x => x.IdKardexReactivo == controlCloro.IdKardexReactivo || (x.Fecha == controlCloro.Fecha && x.EstadoRegistro == clsAtributos.EstadoRegistroActivo));
         if (model != null)
         {
             model.EstadoReporte           = controlCloro.EstadoReporte;
             model.AprobadoPor             = controlCloro.AprobadoPor;
             model.FechaAprobacion         = controlCloro.FechaAprobacion;
             model.FechaModificacionLog    = controlCloro.FechaIngresoLog;
             model.TerminalModificacionLog = controlCloro.TerminalIngresoLog;
             model.UsuarioModificacionLog  = controlCloro.UsuarioIngresoLog;
             db.SaveChanges();
         }
     }
 }