public ActionResult LoadDataTable() { try { var contextoDB = new InventarioGammaEntities(); var myList = (from productos in contextoDB.Productos where productos.Estatus == 1 || productos.Estatus == 2 select new { DT_RowId = productos.IdProducto, Clave = productos.Clave, Nombre = productos.Nombre, Marca = productos.Marca, Descripcion = productos.Descripcion, Presentacion = productos.Presentacion, Precio_Costo = productos.Precio_Costo, Importe_Inventario = productos.Importe_Inventario, Almacen = productos.Almacen, Ubicacion = productos.Ubicacion, Existencia = productos.Existencia }).ToList(); return(Json(myList, JsonRequestBehavior.AllowGet)); } catch (System.Data.EntityException ex) { logger.Error("Error:" + ex.InnerException); return(Json("")); } }
public ActionResult ResetUser(String usuario) { var contexDBUser = new InventarioGammaEntities(); var newPass = Convert.ToBase64String(Encoding.UTF8.GetBytes(usuario)); String valueBack = ""; try { var thisUser = (from user in contexDBUser.Usuarios where user.NombreUsuario == usuario select user).FirstOrDefault(); thisUser.Llave = newPass; contexDBUser.SaveChanges(); valueBack = "200"; logger.Info("Done"); Response.StatusCode = (int)System.Net.HttpStatusCode.OK; } catch (InvalidOperationException ex) { logger.Error("Error:" + ex.InnerException); Response.StatusCode = (int)System.Net.HttpStatusCode.InternalServerError; valueBack = "Ocurrió un error durante registro, verifique los datos"; } return(Content(valueBack)); }
public ActionResult ActualizarDatos(Producto Product) { String ValueBack = ""; int resultado = -1; if (!Session["almacen"].Equals(Product.Almacen) && !Session["almacen"].Equals("Admin")) { Response.StatusCode = (int)System.Net.HttpStatusCode.InternalServerError; ValueBack = "No pertenece al almacen, no es posible registrar producto"; return(Content(ValueBack, MediaTypeNames.Text.Plain)); } try { var contextoDB = new InventarioGammaEntities(); //Actualiza producto var producto = (from prod in contextoDB.Productos where prod.IdProducto == Product.IdProducto && (prod.Estatus == 1 || prod.Estatus == 2) select prod).FirstOrDefault(); producto.Almacen = Product.Almacen; producto.Clave = Product.Clave; producto.Descripcion = Product.Descripcion; producto.Importe_Inventario = Product.Importe_Inventario; producto.Precio_Costo = Product.Precio_Costo; producto.Presentacion = Product.Presentacion; producto.Ubicacion = Product.Ubicacion; resultado = contextoDB.SaveChanges(); logger.Info("Producto actualizado"); ///Crea registro de historial Historial hist = new Historial(); hist.Producto = producto.IdProducto; hist.Fecha_Movimiento = DateTime.Parse(DateTime.Now.ToString("MM/dd/yyyy")); hist.Tipo_Movimiento = "Modificacion"; hist.Origen = producto.Almacen; hist.Destino = producto.Almacen; hist.Cantidad = 0; hist.Cantidad_Anterior = producto.Existencia; hist.Cantidad_Actual = producto.Existencia; contextoDB.Historials.Add(hist); contextoDB.SaveChanges(); logger.Info("Historial creado"); ValueBack = "Registro actualizado correctamente"; } catch (System.Data.EntityException ex) { logger.Error("Error:" + ex.InnerException); Response.StatusCode = (int)System.Net.HttpStatusCode.InternalServerError; ValueBack = "Ocurrió un error durante actualización, verifique los datos y vuelva a intentarlo"; return(Content(ValueBack, MediaTypeNames.Text.Plain)); } return(Content(ValueBack)); }
public ActionResult Eliminar(int idProducto) { String ValueBack = ""; int resultado = -1; try { var contextoDB = new InventarioGammaEntities(); //Elimina producto/baja var producto = (from prod in contextoDB.Productos where prod.IdProducto == idProducto && prod.Estatus != 0 select prod).FirstOrDefault(); if (!Session["almacen"].Equals(producto.Almacen) && !Session["almacen"].Equals("Admin")) { Response.StatusCode = (int)System.Net.HttpStatusCode.InternalServerError; ValueBack = "No pertenece al almacen, no es posible registrar producto"; return(Content(ValueBack, MediaTypeNames.Text.Plain)); } producto.Estatus = 0; resultado = contextoDB.SaveChanges(); ///Crea registro de historial Historial hist = new Historial(); hist.Producto = producto.IdProducto; hist.Fecha_Movimiento = DateTime.Parse(DateTime.Now.ToString("MM/dd/yyyy")); hist.Tipo_Movimiento = "Eliminacion"; hist.Origen = producto.Almacen; hist.Destino = producto.Almacen; hist.Cantidad = 0; hist.Cantidad_Anterior = 0; hist.Cantidad_Actual = 0; contextoDB.Historials.Add(hist); contextoDB.SaveChanges(); ValueBack = "Registro eliminado!"; } catch (System.Data.EntityException ex) { logger.Error("Error:" + ex.InnerException); Response.StatusCode = (int)System.Net.HttpStatusCode.InternalServerError; ValueBack = "Ocurrió un error durante eliminación, verifique los datos y vuelva a intentarlo"; return(Json(new { mensaje = ValueBack }, JsonRequestBehavior.AllowGet)); } Response.StatusCode = (int)System.Net.HttpStatusCode.OK; return(Json(new { mensaje = ValueBack }, JsonRequestBehavior.AllowGet)); }
public ActionResult ActualizarExistencia(int IdProducto, int Cantidad) { String ValueBack = ""; int resultado = -1; double CantidadAnterior = 0; try { var contextoDB = new InventarioGammaEntities(); //Actualiza existencia/actualizacion var producto = (from prod in contextoDB.Productos where prod.IdProducto == IdProducto && prod.Estatus != 0 select prod).FirstOrDefault(); if (!Session["almacen"].Equals(producto.Almacen) && !Session["almacen"].Equals("Admin")) { Response.StatusCode = (int)System.Net.HttpStatusCode.InternalServerError; ValueBack = "No pertenece al almacen, no es posible registrar producto"; return(Content(ValueBack, MediaTypeNames.Text.Plain)); } CantidadAnterior = producto.Existencia; producto.Existencia = producto.Existencia + Cantidad; resultado = contextoDB.SaveChanges(); ///Crea registro de historial Historial hist = new Historial(); hist.Producto = producto.IdProducto; hist.Fecha_Movimiento = DateTime.Parse(DateTime.Now.ToString("MM/dd/yyyy")); hist.Tipo_Movimiento = "Alta"; hist.Origen = "Distribuidor"; hist.Destino = producto.Almacen; hist.Cantidad = Cantidad; hist.Cantidad_Anterior = CantidadAnterior; hist.Cantidad_Actual = producto.Existencia; contextoDB.Historials.Add(hist); contextoDB.SaveChanges(); ValueBack = "Actualizado"; } catch (System.Data.EntityException ex) { logger.Error("Error:" + ex.InnerException); Response.StatusCode = (int)System.Net.HttpStatusCode.InternalServerError; ValueBack = "Ocurrió un error durante alta de inventario, verifique los datos y vuelva a intentarlo"; return(Content(ValueBack, MediaTypeNames.Text.Plain)); } return(Content(ValueBack)); }
public ActionResult nuevo(Producto producto) { var contextoDB = new InventarioGammaEntities(); String valueBack = ""; Producto prod = producto; prod.Estatus = 1; prod.Existencia = 0; Historial hist = new Historial(); if (!Session["almacen"].Equals(producto.Almacen) && !Session["almacen"].Equals("Admin")) { Response.StatusCode = (int)System.Net.HttpStatusCode.InternalServerError; valueBack = "No pertenece al almacen, no es posible registrar producto"; return(Content(valueBack, MediaTypeNames.Text.Plain)); } try { //alta el producto contextoDB.Productos.Add(prod); contextoDB.SaveChanges(); //genera historial hist.Producto = prod.IdProducto; hist.Fecha_Movimiento = DateTime.Parse(DateTime.Now.ToString("MM/dd/yyyy")); hist.Tipo_Movimiento = "Registro"; hist.Origen = "Distribuidor"; hist.Destino = prod.Almacen; hist.Cantidad = 0; hist.Cantidad_Anterior = 0; hist.Cantidad_Actual = 0; contextoDB.Historials.Add(hist); contextoDB.SaveChanges(); valueBack = "Alta exitosa!"; } catch (System.Data.EntityException ex) { logger.Error("Error:" + ex.InnerException); Response.StatusCode = (int)System.Net.HttpStatusCode.InternalServerError; valueBack = "Ocurrió un error durante registro, verifique los datos y vuelva a intentarlo"; return(Content(valueBack, MediaTypeNames.Text.Plain)); } return(Content(valueBack, MediaTypeNames.Text.Plain)); }
public ActionResult ListaUsuarios() { try { var contextoDB = new InventarioGammaEntities(); var myList = (from usuarios in contextoDB.Usuarios select new { Usuario = usuarios.NombreUsuario, Almacen = usuarios.Almacen, }).ToList(); return(Json(myList, JsonRequestBehavior.AllowGet)); } catch (System.Data.EntityException ex) { logger.Error("Error:" + ex.InnerException); return(Json("")); } }
public ActionResult FilterDataTable(String periodo, String inputAlmacen) { var contextoDB = new InventarioGammaEntities(); var myList = (from historial in contextoDB.Historials from productos in contextoDB.Productos where historial.Producto == productos.IdProducto select new { Clave = productos.Clave, Producto = productos.Nombre, Descripcion = productos.Descripcion, Fecha_Movimiento = historial.Fecha_Movimiento, Tipo_Movimiento = historial.Tipo_Movimiento, Origen = historial.Origen, Destino = historial.Destino, Cantidad_Anterior = historial.Cantidad_Anterior, Cantidad_Actual = historial.Cantidad_Actual }).ToList(); return(Json(myList, JsonRequestBehavior.AllowGet)); }
public ActionResult Actualizar(String Password, String newPassword) { var usuario = Session["usuario"]; String ValueBack = ""; try { var oldPass = Convert.ToBase64String(Encoding.UTF8.GetBytes(Password)); var newPass = Convert.ToBase64String(Encoding.UTF8.GetBytes(newPassword)); var contextoDB = new InventarioGammaEntities(); var thisUser = (from usuarios in contextoDB.Usuarios where usuario == usuarios.NombreUsuario && oldPass == usuarios.Llave select usuarios).FirstOrDefault(); if (thisUser != null) { thisUser.Llave = newPass; contextoDB.SaveChanges(); ValueBack = "Contraeseña actualizada!"; } else { Response.StatusCode = (int)System.Net.HttpStatusCode.Forbidden; ValueBack = "La contraseña actual es incorrecta, verifique y vuelva a intentarlo"; return(Content(ValueBack, System.Net.Mime.MediaTypeNames.Text.Plain)); } } catch (System.Data.EntityException ex) { logger.Error("Error:" + ex.InnerException); Response.StatusCode = (int)System.Net.HttpStatusCode.InternalServerError; ValueBack = "Ocurrió un error durante la operación, verifique los datos y vuelva a intentarlo"; return(Json(new { mensaje = ValueBack }, JsonRequestBehavior.AllowGet)); } Response.StatusCode = (int)System.Net.HttpStatusCode.OK; return(Json(new { mensaje = ValueBack }, JsonRequestBehavior.AllowGet)); }
public ActionResult AltUser(Usuario user) { var contexDBUser = new InventarioGammaEntities(); String valueBack = ""; Usuario users = user; users.Llave = Convert.ToBase64String(Encoding.UTF8.GetBytes(user.Llave)); try { contexDBUser.Usuarios.Add(users); contexDBUser.SaveChanges(); valueBack = "Alta exitosa"; } catch (InvalidOperationException ex) { logger.Error("Error:" + ex.InnerException); Response.StatusCode = (int)System.Net.HttpStatusCode.InternalServerError; valueBack = "Ocurrió un error durante registro, verifique los datos"; } return(Content(valueBack)); }
public ActionResult IniciaSesion(String Usuario, String LLave) { String ValueBack = ""; var pass = Convert.ToBase64String(Encoding.UTF8.GetBytes(LLave)); try { var contextoDB = new InventarioGammaEntities(); var usuario = (from usuarios in contextoDB.Usuarios where Usuario == usuarios.NombreUsuario && pass == usuarios.Llave select new { NombreUsuario = usuarios.NombreUsuario, Almacen = usuarios.Almacen }).FirstOrDefault(); if (usuario != null) { Session["usuario"] = usuario.NombreUsuario; Session["almacen"] = usuario.Almacen; return(Redirect("consultas")); } else { Response.StatusCode = (int)System.Net.HttpStatusCode.Forbidden; ValueBack = "Datos de acceso incorrectos"; return(Content(ValueBack, System.Net.Mime.MediaTypeNames.Text.Plain)); } } catch (System.Data.EntityException ex) { logger.Error("Error:" + ex.InnerException); Response.StatusCode = (int)System.Net.HttpStatusCode.InternalServerError; ValueBack = "Error interno, espere un momento y vuelva a intentar o contacte a su administrador del sistema"; return(Content(ValueBack, System.Net.Mime.MediaTypeNames.Text.Plain)); } }
public ActionResult DelUser(String usuario) { var contexDBUser = new InventarioGammaEntities(); String valueBack = ""; try { var user = new Usuario { NombreUsuario = usuario }; contexDBUser.Entry(user).State = System.Data.Entity.EntityState.Deleted; contexDBUser.SaveChanges(); valueBack = "200"; Response.StatusCode = (int)System.Net.HttpStatusCode.OK; } catch (InvalidOperationException ex) { logger.Error("Error:" + ex.InnerException); Response.StatusCode = (int)System.Net.HttpStatusCode.InternalServerError; valueBack = "Ocurrió un error durante registro, verifique los datos"; } return(Content(valueBack)); }
public ActionResult TransferenciaAlmacen(int idProducto, String Almacen, int Cantidad, String ClaveT) { String ValueBack = ""; int resultado = -1; try { var contextoDB = new InventarioGammaEntities(); Producto PodTrans = new Producto(); ///Realiza actualizacion/transferencia var producto = (from prod in contextoDB.Productos where prod.IdProducto == idProducto && (prod.Estatus == 1 || prod.Estatus == 2) select prod).FirstOrDefault(); if (!Session["almacen"].Equals(producto.Almacen) && !Session["almacen"].Equals("Admin")) { Response.StatusCode = (int)System.Net.HttpStatusCode.InternalServerError; ValueBack = "No pertenece al almacen, no es posible registrar producto"; return(Content(ValueBack, MediaTypeNames.Text.Plain)); } if (!(producto.Existencia >= Cantidad)) { Response.StatusCode = (int)System.Net.HttpStatusCode.InternalServerError; ValueBack = "No hay cantidad suficiente para transferir"; return(Content(ValueBack, MediaTypeNames.Text.Plain)); } if (producto.Almacen == Almacen) { Response.StatusCode = (int)System.Net.HttpStatusCode.InternalServerError; ValueBack = "Ha seleccionado el mismo almacén, Debe seleccionar otro almacén de destino"; return(Content(ValueBack, MediaTypeNames.Text.Plain)); } var productoD = (from prod in contextoDB.Productos where prod.Clave == ClaveT && prod.Almacen == Almacen && (prod.Estatus == 1 || prod.Estatus == 2) select prod).FirstOrDefault(); if (productoD != null) { productoD.Existencia = productoD.Existencia + Cantidad; ValueBack = "El producto ya existía en esa sucursal, se actualizó existencia!"; } else { PodTrans.Almacen = Almacen; PodTrans.Clave = producto.Clave; PodTrans.Descripcion = producto.Descripcion; PodTrans.Estatus = 2; PodTrans.Existencia = Cantidad; PodTrans.Importe_Inventario = producto.Importe_Inventario; PodTrans.Marca = producto.Marca; PodTrans.Nombre = producto.Nombre; PodTrans.Precio_Costo = producto.Precio_Costo; PodTrans.Presentacion = producto.Presentacion; PodTrans.Ubicacion = "NA"; contextoDB.Productos.Add(PodTrans); logger.Info("Transferencia realizada"); ValueBack = "Transferencia realizada!"; } producto.Existencia = producto.Existencia - Cantidad; if (producto.Estatus == 2 && producto.Existencia == 0) { producto.Estatus = 0; } resultado = contextoDB.SaveChanges(); ///Crea registro de historial Historial hist = new Historial(); hist.Producto = producto.IdProducto; hist.Fecha_Movimiento = DateTime.Parse(DateTime.Now.ToString("MM/dd/yyyy")); hist.Tipo_Movimiento = "Transferencia entre sucursales"; hist.Origen = producto.Almacen; hist.Destino = Almacen; hist.Cantidad = 0; hist.Cantidad_Anterior = producto.Existencia; hist.Cantidad_Actual = producto.Existencia; contextoDB.Historials.Add(hist); contextoDB.SaveChanges(); } catch (System.Data.EntityException ex) { logger.Error("Error:" + ex.InnerException); Response.StatusCode = (int)System.Net.HttpStatusCode.InternalServerError; ValueBack = "Ocurrió un error durante transferencia, verifique los datos y vuelva a intentarlo"; return(Content(ValueBack, MediaTypeNames.Text.Plain)); } return(Content(ValueBack)); }
public ActionResult Venta(int IdProducto, int Cantidad) { String ValueBack = ""; int resultado = -1; try { var contextoDB = new InventarioGammaEntities(); Producto PodTrans = new Producto(); ///Realiza actualizacion/transferencia var producto = (from prod in contextoDB.Productos where prod.IdProducto == IdProducto && (prod.Estatus == 1 || prod.Estatus == 2) select prod).FirstOrDefault(); if (!Session["almacen"].Equals(producto.Almacen) && !Session["almacen"].Equals("Admin")) { Response.StatusCode = (int)System.Net.HttpStatusCode.InternalServerError; ValueBack = "No pertenece al almacen, no es posible registrar producto"; return(Content(ValueBack, MediaTypeNames.Text.Plain)); } if (!(producto.Existencia >= Cantidad)) { Response.StatusCode = (int)System.Net.HttpStatusCode.InternalServerError; ValueBack = "No hay cantidad suficiente para vender"; return(Content(ValueBack, MediaTypeNames.Text.Plain)); } producto.Existencia = producto.Existencia - Cantidad; if (producto.Estatus == 2 && producto.Existencia == 0) { producto.Estatus = 0; } resultado = contextoDB.SaveChanges(); ValueBack = "Venta realizada!"; ///Crea registro de historial Historial hist = new Historial(); hist.Producto = producto.IdProducto; hist.Fecha_Movimiento = DateTime.Parse(DateTime.Now.ToString("MM/dd/yyyy")); hist.Tipo_Movimiento = "Venta"; hist.Origen = producto.Almacen; hist.Destino = producto.Almacen; hist.Cantidad = Cantidad; hist.Cantidad_Anterior = producto.Existencia + Cantidad; hist.Cantidad_Actual = producto.Existencia; contextoDB.Historials.Add(hist); contextoDB.SaveChanges(); } catch (System.Data.EntityException ex) { logger.Error("Error:" + ex.InnerException); Response.StatusCode = (int)System.Net.HttpStatusCode.InternalServerError; ValueBack = "Ocurrió un error durante la venta, verifique los datos y vuelva a intentarlo"; return(Content(ValueBack, MediaTypeNames.Text.Plain)); } return(Content(ValueBack)); }
public ActionResult LoadDataTable(int sEcho, String sSearch, int iDisplayLength, int iDisplayStart, int iSortCol_0, String sSortDir_0, String Almacen, String Periodo, String InVentas) { double totalV = 0; DateTime FechaIn = Convert.ToDateTime(Periodo.Split('-')[0].Trim()); DateTime FechaFin = Convert.ToDateTime(Periodo.Split('-')[1].Trim()); if (("true").Equals(InVentas)) { sSearch = "Venta"; } if (!("").Equals(Almacen)) { sSearch = Almacen; } try { var contextoDB = new InventarioGammaEntities(); var myList = (from historial in contextoDB.Historials.AsEnumerable() from productos in contextoDB.Productos.AsEnumerable() where historial.Producto == productos.IdProducto && (historial.Fecha_Movimiento > FechaIn && historial.Fecha_Movimiento < FechaFin) && (productos.Nombre.IndexOf(sSearch, StringComparison.OrdinalIgnoreCase) >= 0 || productos.Descripcion.IndexOf(sSearch, StringComparison.OrdinalIgnoreCase) >= 0 || historial.Tipo_Movimiento.IndexOf(sSearch, StringComparison.OrdinalIgnoreCase) >= 0 || historial.Fecha_Movimiento.ToString("dd/MM/yyyy").IndexOf(sSearch, StringComparison.OrdinalIgnoreCase) >= 0) select new { Clave = productos.Clave, Producto = productos.Nombre, Descripcion = productos.Descripcion, Fecha_Movimiento = historial.Fecha_Movimiento.ToString("dd/MM/yyyy"), Tipo_Movimiento = historial.Tipo_Movimiento, Origen = historial.Origen, Destino = historial.Destino, Cantidad = historial.Cantidad.ToString(), Cantidad_Anterior = historial.Cantidad_Anterior.ToString(), Cantidad_Actual = historial.Cantidad_Actual.ToString() }).ToList(); if (("true").Equals(InVentas)) { var venta = (from historial in contextoDB.Historials.AsEnumerable() from productos in contextoDB.Productos.AsEnumerable() where historial.Producto == productos.IdProducto && (historial.Fecha_Movimiento > FechaIn && historial.Fecha_Movimiento < FechaFin) && (productos.Nombre.IndexOf(sSearch, StringComparison.OrdinalIgnoreCase) >= 0 || productos.Descripcion.IndexOf(sSearch, StringComparison.OrdinalIgnoreCase) >= 0 || historial.Tipo_Movimiento.IndexOf(sSearch, StringComparison.OrdinalIgnoreCase) >= 0 || historial.Fecha_Movimiento.ToString("dd/MM/yyyy").IndexOf(sSearch, StringComparison.OrdinalIgnoreCase) >= 0) select new { Precio = productos.Importe_Inventario.ToString(), Cantidad = historial.Cantidad.ToString() }).ToList(); foreach (var x in venta) { totalV = totalV + (Convert.ToDouble(x.Cantidad) * Convert.ToDouble(x.Precio)); } } if (sSortDir_0.Equals("asc")) { switch (iSortCol_0) { case 0: myList = myList.OrderBy(x => x.Clave).ToList(); break; case 1: myList = myList.OrderBy(x => x.Producto).ToList(); break; case 2: myList = myList.OrderBy(x => x.Descripcion).ToList(); break; case 3: myList = myList.OrderBy(x => x.Fecha_Movimiento).ToList(); break; case 4: myList = myList.OrderBy(x => x.Tipo_Movimiento).ToList(); break; } } else { switch (iSortCol_0) { case 0: myList = myList.OrderByDescending(x => x.Clave).ToList(); break; case 1: myList = myList.OrderByDescending(x => x.Producto).ToList(); break; case 2: myList = myList.OrderByDescending(x => x.Descripcion).ToList(); break; case 3: myList = myList.OrderByDescending(x => x.Fecha_Movimiento).ToList(); break; case 4: myList = myList.OrderByDescending(x => x.Tipo_Movimiento).ToList(); break; } } var returnData = myList.Skip(iDisplayStart).Take(iDisplayLength).ToList(); var result = new { sEcho = sEcho, Total = totalV, iTotalRecords = myList.Count, iTotalDisplayRecords = myList.Count, aaData = returnData }; return(Json(result, JsonRequestBehavior.AllowGet)); } catch (System.Data.EntityException ex) { logger.Error("Error:" + ex.InnerException); return(Json("")); } }