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));
        }
示例#3
0
        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));
        }
示例#5
0
        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));
        }
示例#7
0
        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));
        }