public ActionResult Edit(string Nombres, string Apellido, string Cedula, string RUC, string HoraEntrada, string HoraSalida, bool Estado) { //BUSCAR QUE EL NUMERO RUC NO SE REPITA var buscarRUC = RUC.Trim() != "" ? db.Datos.DefaultIfEmpty(null).FirstOrDefault(r => r.RUC == RUC && r.RUC != null && r.DNI.Trim() != Cedula.Trim()) : null; //SI EXISTE UN REGISTRO CON EL NUMERO RUC if (buscarRUC != null) { mensaje = "El número RUC ya se encuentra registrado"; return(Json(new { success = completado, message = mensaje }, JsonRequestBehavior.AllowGet)); } using (var transact = db.Database.BeginTransaction()) { try { //BUSCAR AL OBJETO A EDITAR var data = db.Datos.DefaultIfEmpty(null).FirstOrDefault(d => d.DNI.Trim() == Cedula.Trim()); var waiter = db.Meseros.DefaultIfEmpty(null).FirstOrDefault(w => w.DatoId == data.Id); //ACTUALIZAR EL REGISTRO DEL MESERO if (waiter != null) { //EDITAR DATOS PRINCIPALES data.PNombre = Nombres.Trim(); data.PApellido = Apellido.Trim(); data.RUC = RUC != "" ? RUC : null; db.Entry(data).State = EntityState.Modified; //GUARDAMOS LOS CAMBIOS if (db.SaveChanges() > 0) { //ACTUALIZAR DATOS DE MESERO waiter.HoraEntrada = HoraEntrada; waiter.HoraSalida = HoraSalida; waiter.EstadoMesero = Estado; db.Entry(waiter).State = EntityState.Modified; completado = db.SaveChanges() > 0 ? true : false; mensaje = completado ? "Modificado correctamente" : "Error al modificar"; } } else //NO SE ENCONTRO EL REGISTRO COMO MESERO { mensaje = "La persona a modificar no se encuentra registrado"; }//Si todo se hizo correctamente se guardan los datos definitivamente transact.Commit(); } catch (Exception) { //Si hubo algun error en el almacenamiento de los datos //deshacemos todos lo que habiamos guardado transact.Rollback(); mensaje = "Error al modificar"; } //FIN TRY-CATCH } //FIN USING return(Json(new { success = completado, message = mensaje }, JsonRequestBehavior.AllowGet)); }
public async Task <ActionResult> Edit([Bind(Include = "Id,CodigoBodega,DescripcionBodega,EstadoBodega")] Bodega bodega) { //COMPROBAR QUE NO EXISTA LA MISMA DESCRIPCION DE BODEGAS var comprobar = db.Bodegas.DefaultIfEmpty(null).FirstOrDefault(c => c.DescripcionBodega.ToUpper().Trim() == bodega.DescripcionBodega.ToUpper().Trim() && c.Id != bodega.Id); //SI YA EXISTE LA BODEGA MANDAR ERROR if (comprobar != null) { ModelState.AddModelError("DescripcionBodega", "Utilice otro nombre"); mensaje = "La descripción ya se encuentra registrada"; return(Json(new { success = completado, message = mensaje }, JsonRequestBehavior.AllowGet)); } using (var transact = db.Database.BeginTransaction()) { try { if (ModelState.IsValid) { db.Entry(bodega).State = EntityState.Modified; completado = await db.SaveChangesAsync() > 0 ? true : false; mensaje = completado ? "Modificado correctamente" : "Error al modificar"; } transact.Commit(); } catch (Exception) { mensaje = "Error al modificar"; transact.Rollback(); } } return(Json(new { success = completado, message = mensaje }, JsonRequestBehavior.AllowGet)); }
public async Task <ActionResult> Edit([Bind(Include = "Id,CodigoTipoEntrada,DescripcionTipoEntrada,EstadoTipoEntrada")] TipoDeEntrada TipoDeEntrada) { //BUSCAR QUE LA DESCRIPCION DE TIPO DE BODEGA NO EXISTA TipoDeEntrada bod = db.TiposDeEntrada.DefaultIfEmpty(null).FirstOrDefault(b => b.DescripcionTipoEntrada.ToUpper().Trim() == TipoDeEntrada.DescripcionTipoEntrada.ToUpper().Trim() && b.Id != TipoDeEntrada.Id); //SI LA BODEGA EXISTE CON ESA DESCRIPCION if (bod != null) { ModelState.AddModelError("DescripcionTipoEntrada", "Utilice otro nombre"); mensaje = "La descripción ya se encuentra registrada"; return(Json(new { success = completado, message = mensaje }, JsonRequestBehavior.AllowGet)); } using (var transact = db.Database.BeginTransaction()) { try { if (ModelState.IsValid) { db.Entry(TipoDeEntrada).State = EntityState.Modified; completado = await db.SaveChangesAsync() > 0 ? true : false; mensaje = completado ? "Modificado correctamente" : "Error al modificar"; } transact.Commit(); } catch (Exception) { mensaje = "Error al modificar"; transact.Rollback(); } } return(Json(new { success = completado, message = mensaje }, JsonRequestBehavior.AllowGet)); }
public async Task <ActionResult> Edit([Bind(Include = "Id,CodigoCategoria,DescripcionCategoria,EstadoCategoria")] CategoriaProducto CategoriaProducto) { //BUSCAR QUE EXISTA UNA CATEGORIA CON ESA DESCRIPCION CategoriaProducto bod = db.CategoriasProducto.DefaultIfEmpty(null).FirstOrDefault(b => b.DescripcionCategoria.ToUpper().Trim() == CategoriaProducto.DescripcionCategoria.ToUpper().Trim() && b.Id != CategoriaProducto.Id); //SI EXISTE INGRESADO UNA CATEGORIA CON LA DESCRIPCION if (bod != null) { ModelState.AddModelError("DescripcionCategoria", "Utilice otro nombre"); mensaje = "La descripción ya se encuentra registrada"; return(Json(new { success = completado, message = mensaje }, JsonRequestBehavior.AllowGet)); } using (var transact = db.Database.BeginTransaction()) { try { if (ModelState.IsValid) { db.Entry(CategoriaProducto).State = EntityState.Modified; completado = await db.SaveChangesAsync() > 0 ? true : false; mensaje = completado ? "Modificado correctamente" : "Error al modificar"; } transact.Commit(); } catch (Exception) { mensaje = "Error al modificar"; transact.Rollback(); } }//FIN USING return(Json(new { success = completado, message = mensaje }, JsonRequestBehavior.AllowGet)); }
public async Task <ActionResult> Edit([Bind(Include = "Id,CodigoProducto,DescripcionProducto,MarcaProducto,CantidadMaxProducto,CantidadMinProducto,EstadoProducto,UnidadMedidaId,CategoriaId")] Producto Producto) { //BUSCAR LA PRESENTACION DEL PRODUCTO (COMBINACION DE DESCRIPCION, MARCA Y UM - ID -) Producto bod = db.Productos.DefaultIfEmpty(null) .FirstOrDefault(b => b.DescripcionProducto.ToUpper().Trim() == Producto.DescripcionProducto.ToUpper().Trim() && b.MarcaProducto.ToUpper().Trim() == Producto.MarcaProducto.ToUpper().Trim() && b.UnidadMedidaId == Producto.UnidadMedidaId && b.Id != Producto.Id); //SI EL PRODUCTO YA EXISTE if (bod != null) { ModelState.AddModelError("DescripcionProducto", "La presentación del producto ya existe"); mensaje = "El producto con esas características ya existe"; return(Json(new { success = completado, message = mensaje }, JsonRequestBehavior.AllowGet)); } using (var transact = db.Database.BeginTransaction()) { try { if (ModelState.IsValid) { db.Entry(Producto).State = EntityState.Modified; completado = await db.SaveChangesAsync() > 0 ? true : false; mensaje = completado ? "Modificado correctamente" : "Error al modificar"; } else { //ESTO ES PARA VER EL ERROR QUE DEVUELVE EL MODELO string cad = ""; foreach (ModelState modelState in ViewData.ModelState.Values) { foreach (ModelError error in modelState.Errors) { cad += (error); } } } transact.Commit(); } catch (Exception) { mensaje = "Error al modificar"; transact.Rollback(); } //FIN TRY-CATCH } //FIN USING return(Json(new { success = completado, message = mensaje }, JsonRequestBehavior.AllowGet)); }
//[ValidateAntiForgeryToken] public ActionResult UpdateProveedor(int Id, string NombreComercial, string Telefono, string RUC, bool EstadoProveedor, bool Local, bool RetenedorIR, string NombreProveedor, string ApellidoProveedor, string CedulaProveedor) { //BUSCAR AL PROVEEDOR POR MEDIO DEL ID Proveedor proveedor = db.Proveedores.Find(Id); //BUSCAR QUE EL NUMERO RUC NO SE REPITA Y QUE NO SEA EL PROVEEDOR A MODIFICAR var buscarRUC = db.Datos.DefaultIfEmpty(null).FirstOrDefault(r => r.RUC == RUC && r.Id != proveedor.DatoId && r.RUC != ""); //SI EXISTE UN REGISTRO CON EL NUMERO RUC if (buscarRUC != null) { mensaje = "El número RUC ya se encuentra registrado"; return(Json(new { success = completado, message = mensaje }, JsonRequestBehavior.AllowGet)); } using (var transact = db.Database.BeginTransaction()) { try { //DEPENDE DEL TIPO DE PROVEEDOR ALMACENAMOS LOS DATOS if (Local) { //BUSCAR LOS DATOS A MODIFICAR DEL PROVEEDOR LOCAL POR MEDIO DE LA CEDULA Dato dato = db.Datos.FirstOrDefault(d => d.DNI.Trim() == CedulaProveedor.Trim()); //ASIGNAMOS VALORES A DATOS DE PROVEEDOR LOCAL dato.PNombre = NombreProveedor; dato.PApellido = ApellidoProveedor; dato.RUC = RUC != "" ? RUC : null; //GUARDAR CAMBIOS db.Entry(dato).State = EntityState.Modified; //CONFIRMACION DE CAMBIOS GUARDADOS if (db.SaveChanges() > 0) { //ASIGNAMOS VALORES DE PROVEEDOR proveedor.NombreComercial = NombreComercial; proveedor.Telefono = Telefono; proveedor.RetenedorIR = RetenedorIR; proveedor.EstadoProveedor = EstadoProveedor; //GUARDAR CAMBIOS DEL PROVEEDOR db.Entry(proveedor).State = EntityState.Modified; completado = db.SaveChanges() > 0 ? true : false; mensaje = completado ? "Modificado correctamente" : "Error al modificar"; } else { //REVERTIR CAMBIOS EN DATOS } } else { //BUSCAR EL REGISTRO DATO DEL PROVEEDOR ATRAVES DEL RUC //var buscarDato = db.Datos.DefaultIfEmpty(null).FirstOrDefault(r => r.RUC.Trim() == RUC); //MODIFICAR RUC //buscarDato.RUC = RUC; //db.Entry(buscarDato).State = EntityState.Modified; //ASIGNAMOS VALORES DE PROVEEDOR //proveedor.NombreComercial = NombreComercial;NO PIENSO CAMBIAR DE NOMBRE COMERCIAL proveedor.Telefono = Telefono; proveedor.RetenedorIR = RetenedorIR; proveedor.EstadoProveedor = EstadoProveedor; //GUARDAR CAMBIOS DEL PROVEEDOR db.Entry(proveedor).State = EntityState.Modified; completado = db.SaveChanges() > 0 ? true : false; mensaje = completado ? "Modificado correctamente" : "Error al modificar"; } transact.Commit(); } catch (Exception) { mensaje = "Error al modificar"; transact.Rollback(); } //FIN TRY-CATCH } //FIN USING return(Json(new { success = completado, message = mensaje }, JsonRequestBehavior.AllowGet)); }
public ActionResult Edit(HttpPostedFileBase urlImage, string codigoMenu, string descripcionMenu, double precio, int categoriaId, string tiempo, string ingredientes, bool estado) { //BUSCAR EL OBJETO A MODIFICAR var menu = db.Menus.DefaultIfEmpty(null).FirstOrDefault(m => m.CodigoMenu.Trim() == codigoMenu.Trim()); //ALMACENAR EL ID DEL PLATILLO (PARA ACTUALIZAR EN INDEX) int Id = menu.Id; using (var transact = db.Database.BeginTransaction()) { try { //BUSCAR EL PLATILLO if (menu != null) { //SI NO LLEGA CAMBIO DE IMAGEN if (urlImage == null || !(Request.Files[0].ContentLength > 0)) { //SI EL NOMBRE DEL PLATILLO CAMBIA if (menu.DescripcionMenu.Trim() != descripcionMenu.Trim()) { //BUSCO LA IMAGEN var img = db.Imagenes.Find(menu.ImagenId); //BUSCAR LA EXTENSION DE LA IMAGEN var extension = "." + (img.Ruta).Split('.').Last(); var newNameFullPath = "/" + string.Concat(descripcionMenu.Where(c => !char.IsWhiteSpace(c))).ToLower() + extension; //SI EXISTE UN PLATILLO CON ESE NOMBRE if (System.IO.File.Exists(Server.MapPath("~/images/Menu") + newNameFullPath)) { completado = false; mensaje = "Error. Ese platillo ya existe"; return(Json(new { data = completado, message = mensaje }, JsonRequestBehavior.AllowGet)); } else { //SE CAMBIA EL NOMBRE DE LA IMAGEN ALMACENADA - SE PASA EN NOMBRE ACTUAL Y EL NUEVO NOMBRE System.IO.File.Move(Server.MapPath(img.Ruta), (Server.MapPath("~/images/Menu") + newNameFullPath)); //SE CAMBIA EL NOMBRE EN LA BASE DE DATO img.Ruta = "/images/Menu" + newNameFullPath; db.Entry(img).State = EntityState.Modified; completado = db.SaveChanges() > 0 ? true : false; } }//FIN CAMBIO DE NOMBRE //SE MODIFICA DE UN SOLO EL OBJETO MENU menu.DescripcionMenu = descripcionMenu; menu.PrecioMenu = precio; menu.CategoriaMenuId = categoriaId; menu.EstadoMenu = estado; db.Entry(menu).State = EntityState.Modified;//SE MODIFICA EL OBJETO //SI SE ALMACENO CORRECTAMENTE EL PLATILLO if (db.SaveChanges() > 0) { //GUARDAR RECETA var receta = db.Recetas.FirstOrDefault(r => r.MenuId == menu.Id); receta.TiempoEstimado = tiempo; receta.Ingredientes = ingredientes; db.Entry(receta).State = EntityState.Modified;//SE MODIFICA EL OBJETO try { db.Entry(receta).State = EntityState.Modified; completado = db.SaveChanges() > 0 ? true : false; mensaje = completado ? "Almacenado correctamente" : "Vuelva a intentarlo"; } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { System.Console.WriteLine("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); } } } } } //LLEGA UNA IMAGEN PARA CAMBIAR else { //ELIMINAR EL ARCHIVO DE LA CARPETA - SE BUSCA OBJETO IMAGEN var imagen = db.Imagenes.Find(menu.ImagenId); //SE BUSCA LA DIRECCION DONDE SE ENCUENTRA LA IMAGEN var path = Server.MapPath(imagen.Ruta); //SE ELIMINA EL ARCHIVO DE LA CARPETA System.IO.File.Delete(path); //CONFIRMACION DE IMAGEN ELIMINADA if (!System.IO.File.Exists(path)) { var file = Request.Files[0]; //OBTENEMOS EL ARCHIVO DE LA VISTA var extension = "." + Path.GetFileName(file.FileName).Split('.').Last(); //SE OBTIENE LA EXTENSION DE LA IMAGEN //ASIGNAR NOMBRE DEL PLATILLO A LA IMAGEN PARA GUARDAR - QUITANDO ESPACIOS ENTRE PALABRAS Y AGREGANDO SU EXTENSION string filename = string.Concat(descripcionMenu.Where(c => !char.IsWhiteSpace(c))).ToLower() + extension; path = Path.Combine(Server.MapPath("~/images/Menu"), filename); //SE CREA LA DIRECCION DONDE SE ALMACENARA LA IMAGEN--OJO file.SaveAs(path); //SE MANDA A GUARDAR EL ARCHIVO string url = Path.Combine("/images/Menu", filename); //SE CREA LA DIRECCION PARA ALMACENAR LA IMAGEN //OJO AQUI, SOLO SE ESTA TRABAJANDO LOCAL. CUANDO YA SE SUBA A ALGUN SERVIDOR SE DEBE MODIFICAR// imagen.Ruta = url; //SE ASIGNA LA RUTA db.Entry(imagen).State = EntityState.Modified; //SE MODIFICA EL OBJETO //SI SE MODIFICO CORRECTAMENTE SE ALMACENA LOS DEMAS CAMPOS if (db.SaveChanges() > 0) { menu.DescripcionMenu = descripcionMenu; menu.PrecioMenu = precio; menu.CategoriaMenuId = categoriaId; menu.EstadoMenu = estado; db.Entry(menu).State = EntityState.Modified; //SE MODIFICA EL OBJETO //SI SE ALMACENO CORRECTAMENTE EL PLATILLO if (db.SaveChanges() > 0) { //GUARDAR RECETA var receta = db.Recetas.FirstOrDefault(r => r.MenuId == menu.Id); receta.TiempoEstimado = tiempo; receta.Ingredientes = ingredientes; db.Entry(receta).State = EntityState.Modified;//SE MODIFICA EL OBJETO if (db.SaveChanges() > 0) { completado = true; mensaje = "Modificado con éxito"; }//FIN SAVE_CHANGES RECETA else { completado = false; mensaje = "No se modificó la receta "; } }//FIN DE SAVE_CHANGES MENU else { completado = false; mensaje = "No se modificó el platillo"; } }//FIN DE SAVE_CHANGES IMAGEN else { completado = false; mensaje = "No se modificó bien la imagen"; } } else { //DECIRLE QUE NO LLEGO NINGUNA IMAGEN completado = false; mensaje = "Ya existe una imagen asociada a este platillo. Revise"; } } }//FIN MENU VACIO transact.Commit(); } catch (Exception) { mensaje = "Error al modificar"; transact.Rollback(); } //FIN TRY-CATCH } //FIN USING return(Json(new { data = completado, message = mensaje, Id }, JsonRequestBehavior.AllowGet)); }
public ActionResult Create(string Nombre, string Apellido, string Documento, string RUC, string Email, string Telefono, uint?Tipo) { //BUSCAR QUE EL RUC INGRESADO NO EXISTA var bruc = db.Datos.DefaultIfEmpty(null).FirstOrDefault(r => r.RUC == RUC.Trim()); //SI EL NUMERO RUC YA SE ENCUENTRA REGISTRADO if (bruc != null) { mensaje = "El número RUC ya se encuentra registrado"; return(Json(new { mensaje })); } //SE BUSCA DESDE LAS DOS TABLAS Cliente cliente = new Cliente(); Dato dato = new Dato(); //SI ES UN CLIENTE NACIONAL if (Tipo == 1) { dato = db.Datos.DefaultIfEmpty(null).FirstOrDefault(t => t.DNI.Trim() == Documento.Trim()); cliente = dato != null?db.Clientes.DefaultIfEmpty(null).FirstOrDefault(c => c.DatoId == dato.Id) : null; } else { //CLIENTE EXTRANJERO cliente = db.Clientes.DefaultIfEmpty(null).FirstOrDefault(c => c.PasaporteCliente.Trim() == Documento.Trim()); dato = cliente != null?db.Datos.DefaultIfEmpty(null).FirstOrDefault(d => d.Id == cliente.DatoId) : null; }//FIN BUSCAR //SI EXISTE ALGUN REGISTRO DE CLIENTE if (dato != null && cliente != null) { //SI EXISTE UN REGISTRO CLIENTE if (cliente != null) { mensaje = "Ya se encuentra registrado un cliente con esa identificación"; return(Json(new { success = completado, message = mensaje }, JsonRequestBehavior.AllowGet)); } } using (var transact = db.Database.BeginTransaction()) { try { if (dato == null && cliente == null) { //SI NO SE ENCUENTRAN COINCIDENCIAS Dato data = new Dato(); //SI EL DOCUMENTO ES CEDULA if (Tipo == 1) { data.DNI = Documento.Trim(); } data.PNombre = Nombre; data.PApellido = Apellido; data.RUC = RUC != "" ? RUC : null; db.Datos.Add(data); if (db.SaveChanges() > 0) { //ALMACENAR DATOS DE CLIENTE Cliente customer = new Cliente(); if (Tipo == 2) { customer.PasaporteCliente = Documento; } customer.EmailCliente = Email != "" ? Email : null; customer.TelefonoCliente = Telefono != "" ? Telefono : null; customer.EstadoCliente = true; customer.DatoId = data.Id; db.Clientes.Add(customer); completado = db.SaveChanges() > 0 ? true : false; mensaje = completado ? "Almacenado correctamente" : "Error al almacenar"; } } else { //SI SOLO EXISTE LOS DATOS DE LA PERSONA //SI EL NUMERO RUC NO ESTA NULO if (RUC != "") { dato.RUC = RUC; //SE ACTUALIZA EL CAMPO db.Entry(dato).State = EntityState.Modified; } Cliente client = new Cliente(); //SE COMPRUEBA EL TIPO DE DOCUMENTO PARA ACTUALIZAR if (Tipo == 2) { client.PasaporteCliente = Documento; } //ALMACENAR LOS CAMPOS DE CLIENTE client.EmailCliente = Email != "" ? Email : null; client.TelefonoCliente = Telefono != "" ? Telefono : null; client.EstadoCliente = true; client.DatoId = dato.Id; db.Clientes.Add(client); completado = db.SaveChanges() > 0 ? true : false; mensaje = completado ? "Almacenado correctamente" : "Error al almacenar"; } transact.Commit(); } catch (Exception) { mensaje = "Error al almacenar"; transact.Rollback(); } //FIN TRY-CATCH } //FIN USING return(Json(new { success = completado, message = mensaje }, JsonRequestBehavior.AllowGet)); }