public int guardarDatosTipoUsuario([FromBody] TipoUsuarioCLS oTipoUsuarioCLS)
        {
            int rpta = 0;

            try
            {
                using (BDRestauranteContext bd = new BDRestauranteContext())
                {
                    using (var transaccion = new TransactionScope())
                    {
                        if (oTipoUsuarioCLS.iidtipousuario == 0)
                        {
                            TipoUsuario oTipoUsuario = new TipoUsuario();
                            oTipoUsuario.Nombre      = oTipoUsuarioCLS.nombre;
                            oTipoUsuario.Descripcion = oTipoUsuarioCLS.descripcion;
                            oTipoUsuario.Bhabilitado = 1;
                            bd.TipoUsuario.Add(oTipoUsuario);

                            int      idTipoUsuario = oTipoUsuario.Iidtipousuario;
                            string[] ids           = oTipoUsuarioCLS.valores.Split("$");
                            for (int i = 0; i < ids.Length; i++)
                            {
                                PaginaTipoUsuario oPaginaTipoUsuario = new PaginaTipoUsuario();
                                oPaginaTipoUsuario.Iidpagina      = int.Parse(ids[i]);
                                oPaginaTipoUsuario.Iidtipousuario = idTipoUsuario;
                                oPaginaTipoUsuario.Bhabilitado    = 1;
                                bd.PaginaTipoUsuario.Add(oPaginaTipoUsuario);
                            }
                            bd.SaveChanges();
                            transaccion.Complete();
                            rpta = 1;
                        }
                        else
                        {
                            //Recuperamos la información
                            TipoUsuario oTipoUsuario = bd.TipoUsuario.Where(p => p.Iidtipousuario == oTipoUsuarioCLS.iidtipousuario).First();
                            oTipoUsuario.Nombre      = oTipoUsuarioCLS.nombre;
                            oTipoUsuario.Descripcion = oTipoUsuarioCLS.descripcion;
                            bd.SaveChanges();
                            string[] ids = oTipoUsuarioCLS.valores.Split("$");
                            //Aca con el Id Tipo usuario (paginas asociadas lo vamos a deshabilitar)
                            List <PaginaTipoUsuario> lista = bd.PaginaTipoUsuario.Where(p => p.Iidtipousuario == oTipoUsuarioCLS.iidtipousuario).ToList();
                            foreach (PaginaTipoUsuario pag in lista)
                            {
                                pag.Bhabilitado = 0;
                            }
                            //Editar (si es que el id de pagina es nuevo, lo insertamos, si es un editar
                            //cambiamos de bhabilitado 0 a 1
                            int cantidad;
                            for (int i = 0; i < ids.Length; i++)
                            {
                                cantidad = lista.Where(p => p.Iidpagina == int.Parse(ids[i])).Count();
                                if (cantidad == 0)
                                {
                                    PaginaTipoUsuario oPaginaTipoUsuario = new PaginaTipoUsuario();
                                    oPaginaTipoUsuario.Iidpagina      = int.Parse(ids[i]);
                                    oPaginaTipoUsuario.Iidtipousuario = oTipoUsuarioCLS.iidtipousuario;
                                    oPaginaTipoUsuario.Bhabilitado    = 1;
                                    bd.PaginaTipoUsuario.Add(oPaginaTipoUsuario);
                                }
                                else
                                {
                                    PaginaTipoUsuario oP = lista.Where(p => p.Iidpagina == int.Parse(ids[i])).First();
                                    oP.Bhabilitado = 1;
                                }
                            }
                            bd.SaveChanges();
                            transaccion.Complete();
                            rpta = 1;
                        }
                    }
                }
            }
            catch (Exception)
            {
                return(0);
            }
            return(rpta);
        }
        public int guardarTipoUsuario([FromBody] TipoUsuarioDTO tipoUsuario)
        {
            int res = 0;

            try
            {
                using (BDRestauranteContext db = new BDRestauranteContext())
                {
                    using (var transaccion = new TransactionScope())
                    {
                        if (tipoUsuario.idTipoUsuario == 0)
                        {
                            db.TipoUsuario.Add(new TipoUsuario
                            {
                                Bhabilitado = 1,
                                Nombre      = tipoUsuario.nombre,
                                Descripcion = tipoUsuario.descripcion
                            });
                            db.SaveChanges();
                            int idTUAdd = (db.TipoUsuario.Where(d => d.Nombre.Equals(tipoUsuario.nombre)).FirstOrDefault()).Iidtipousuario;
                            var paginas = tipoUsuario.valores.Split("$");
                            foreach (var pagina in paginas)
                            {
                                db.PaginaTipoUsuario.Add(new PaginaTipoUsuario
                                {
                                    Bhabilitado    = 1,
                                    Iidpagina      = int.Parse(pagina),
                                    Iidtipousuario = idTUAdd
                                });
                            }
                            db.SaveChanges();
                            transaccion.Complete();
                            res = 1;
                        }
                        else
                        {
                            TipoUsuario tUsuario = db.TipoUsuario.Where(d => d.Iidtipousuario == tipoUsuario.idTipoUsuario).FirstOrDefault();
                            tUsuario.Nombre      = tipoUsuario.nombre;
                            tUsuario.Descripcion = tipoUsuario.descripcion;
                            var paginas = tipoUsuario.valores.Split("$");
                            List <PaginaTipoUsuario> paginasDB = db.PaginaTipoUsuario.Where(d => d.Iidtipousuario == tipoUsuario.idTipoUsuario).ToList();
                            paginasDB.ForEach(d => { d.Bhabilitado = 0; });
                            int cantidad = 0;
                            foreach (var pgId in paginas)
                            {
                                cantidad = paginasDB.Where(d => d.Iidpagina == int.Parse(pgId)).Count();
                                if (cantidad == 0)
                                {
                                    db.PaginaTipoUsuario.Add(new PaginaTipoUsuario
                                    {
                                        Bhabilitado    = 1,
                                        Iidpagina      = int.Parse(pgId),
                                        Iidtipousuario = tipoUsuario.idTipoUsuario
                                    });
                                }
                                else
                                {
                                    PaginaTipoUsuario paginaTipoUsuario = paginasDB.Where(d => d.Iidpagina == int.Parse(pgId)).FirstOrDefault();
                                    paginaTipoUsuario.Bhabilitado = 1;
                                }
                            }
                            db.SaveChanges();
                            transaccion.Complete();
                            res = 1;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                return(0);
            }
            return(res);
        }
示例#3
0
        public int guardarDatosTipoUsuario([FromBody] TipoUsuarioCLS oTipoUsuarioCLS)
        {
            int rpta = 0;

            try
            {
                using (BDRestauranteContext bd = new BDRestauranteContext())
                {
                    using (var transaccion = new TransactionScope())
                    {
                        if (oTipoUsuarioCLS.iidtipousuario == 0)
                        {
                            TipoUsuario oTipoUsuario = new TipoUsuario();
                            oTipoUsuario.Nombre      = oTipoUsuarioCLS.nombre;
                            oTipoUsuario.Descripcion = oTipoUsuarioCLS.descripcion;
                            oTipoUsuario.Bhabilitado = oTipoUsuarioCLS.bhabilitado;
                            bd.TipoUsuario.Add(oTipoUsuario);

                            int      idTipoUsuario = oTipoUsuario.Iidtipousuario;
                            string[] ids           = oTipoUsuarioCLS.valores.Split("$");
                            for (int i = 0; i < ids.Length; i++)
                            {
                                PaginaTipoUsuario oPaginaTipoUsuario = new PaginaTipoUsuario();
                                oPaginaTipoUsuario.Iidpagina      = int.Parse(ids[i]);
                                oPaginaTipoUsuario.Iidtipousuario = idTipoUsuario;
                                oPaginaTipoUsuario.Bhabilitado    = 1;
                                bd.PaginaTipoUsuario.Add(oPaginaTipoUsuario);
                            }
                            bd.SaveChanges();
                            transaccion.Complete();
                            rpta = 1;
                        }


                        else
                        {
                            TipoUsuario oTipousuario = bd.TipoUsuario.Where(p => p.Iidtipousuario == oTipoUsuarioCLS.iidtipousuario).First();
                            oTipousuario.Nombre      = oTipoUsuarioCLS.nombre;
                            oTipousuario.Descripcion = oTipoUsuarioCLS.descripcion;
                            bd.SaveChanges();
                            string[] ids = oTipoUsuarioCLS.valores.Split("$");

                            List <PaginaTipoUsuario> lista = bd.PaginaTipoUsuario.Where(p => p.Iidtipousuario == oTipoUsuarioCLS.iidtipousuario).ToList();
                            foreach (PaginaTipoUsuario pag in lista)
                            {
                                pag.Bhabilitado = 0;
                            }

                            int cantidad;
                            for (int i = 0; i < ids.Length; i++)
                            {
                                cantidad = lista.Where(p => p.Iidpagina == int.Parse(ids[i])).Count();

                                if (cantidad == 0)
                                {
                                    PaginaTipoUsuario oPaginaTipoUsuario = new PaginaTipoUsuario();
                                    oPaginaTipoUsuario.Iidpagina      = int.Parse(ids[i]);
                                    oPaginaTipoUsuario.Iidtipousuario = oTipoUsuarioCLS.iidtipousuario;
                                    oPaginaTipoUsuario.Bhabilitado    = 1;
                                    bd.PaginaTipoUsuario.Add(oPaginaTipoUsuario);
                                }
                                else
                                {
                                    PaginaTipoUsuario oP = lista.Where(p => p.Iidpagina == int.Parse(ids[i])).First();
                                    oP.Bhabilitado = 1;
                                }
                            }
                            bd.SaveChanges();
                            transaccion.Complete();
                            rpta = 1;
                        }
                    }
                }
            }catch (Exception ex)
            {
                ex.ToString();
                rpta = 0;
            }

            return(rpta);
        }
        public int SaveData([FromBody] UserTypeCLS userTypeCLS)
        {
            int response = 0;

            try
            {
                using (BDRestauranteContext bd = new BDRestauranteContext())
                {
                    using (TransactionScope transaction = new TransactionScope())
                    {
                        if (userTypeCLS.IdUserType == 0)
                        {
                            TipoUsuario tipoUsuario = new TipoUsuario
                            {
                                Nombre      = userTypeCLS.Name,
                                Bhabilitado = 1,
                                Descripcion = userTypeCLS.Description
                            };

                            bd.TipoUsuario.Add(tipoUsuario);

                            int      idTipoUsuario = tipoUsuario.Iidtipousuario;
                            string[] values        = userTypeCLS.values.Split("$");

                            // Pendiente refactorizar por un select
                            for (int i = 0; i < values.Length; i++)
                            {
                                PaginaTipoUsuario oPaginaTipoUsuario = new PaginaTipoUsuario
                                {
                                    Iidpagina      = int.Parse(values[i]),
                                    Iidtipousuario = idTipoUsuario,
                                    Bhabilitado    = 1
                                };

                                bd.PaginaTipoUsuario.Add(oPaginaTipoUsuario);
                            }

                            bd.SaveChanges();
                            transaction.Complete();
                            response = 1;
                        }
                        else
                        {
                            TipoUsuario tipoUsuario = bd.TipoUsuario
                                                      .Where(tu => tu.Iidtipousuario == userTypeCLS.IdUserType).FirstOrDefault();
                            tipoUsuario.Nombre      = userTypeCLS.Name;
                            tipoUsuario.Descripcion = userTypeCLS.descripcion;

                            bd.SaveChanges();

                            string[] values = userTypeCLS.values.Split("$");
                            List <PaginaTipoUsuario> list = bd.PaginaTipoUsuario
                                                            .Where(ptu => ptu.Iidtipousuario == userTypeCLS.IdUserType).ToList();

                            list.Select(l => l.Bhabilitado = 0);

                            // copiado tal cual como el profe
                            int cantidad;
                            for (int i = 0; i < values.Length; i++)
                            {
                                cantidad = list.Where(p => p.Iidpagina == int.Parse(values[i])).Count();
                                if (cantidad == 0)
                                {
                                    PaginaTipoUsuario oPaginaTipoUsuario = new PaginaTipoUsuario
                                    {
                                        Iidpagina      = int.Parse(values[i]),
                                        Iidtipousuario = userTypeCLS.IdUserType,
                                        Bhabilitado    = 1
                                    };

                                    bd.PaginaTipoUsuario.Add(oPaginaTipoUsuario);
                                }
                                else
                                {
                                    PaginaTipoUsuario oP = list.Where(p => p.Iidpagina == int.Parse(values[i])).FirstOrDefault();
                                    oP.Bhabilitado = 1;
                                }
                            }

                            bd.SaveChanges();
                            transaction.Complete();
                            response = 1;
                        }
                    }
                }
            }
            catch (Exception)
            {
            }

            return(response);
        }