コード例 #1
0
        public void DeleteMessage(MenuManager menu)
        {
            List <string> DeleteMenuOptions = new List <string>
            {
                "Delete All",
                "Delete From Recieved",
                "Delete From Sent",
            };

            int option = ConsoleMenu.GetUserChoice(DeleteMenuOptions, DesignedStrings.DeleteMsg).IndexOfChoice;

            using (var context = new IMEntities())
            {
                if (option > 0)
                {
                    Message ToDelete = menu.ShowMessages(option > 1);

                    context.Messages.Attach(ToDelete);
                    context.Messages.Remove(ToDelete);
                    context.SaveChanges();
                }
                else
                {
                    Console.WriteLine("\n\n\tWARNING!!!\n\n\tAre you sure you would like to delete EVERYTHING???");
                    Console.ReadKey();
                    context.Messages.RemoveRange(context.Messages
                                                 .Where(msg => msg.SenderId == LoggedIn.Id || msg.RecieverId == LoggedIn.Id));
                    context.SaveChanges();
                }
            }
        }
コード例 #2
0
ファイル: BRSalesRooms.cs プロジェクト: jackjet870/IM-2
        /// <summary>
        /// Guarda|Actualiza un registro en el catalogo
        /// </summary>
        /// <param name="salesRoom">Objeto a guardar</param>
        /// <param name="blnUpdate">True. Actualiza | False. Inserta</param>
        /// <returns>-1 Existe un registro con el mismo ID | 0. No se guardó | 1. Se guardó</returns>
        /// <history>
        /// [emoguel] created 22/04/2016
        /// </history>
        public static int SaveSalesRoom(SalesRoom salesRoom, bool blnUpdate)
        {
            using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString()))
            {
                int nRes = 0;
                #region Update
                if (blnUpdate)
                {
                    dbContext.Entry(salesRoom).State = System.Data.Entity.EntityState.Modified;
                    return(dbContext.SaveChanges());
                }
                #endregion
                #region Add
                else
                {
                    using (var transaction = dbContext.Database.BeginTransaction(System.Data.IsolationLevel.Serializable))
                    {
                        try
                        {
                            SalesRoom salesRoomVal = dbContext.SalesRooms.Where(sr => sr.srID == salesRoom.srID).FirstOrDefault();
                            if (salesRoomVal != null)
                            {
                                return(-1);
                            }
                            else
                            {
                                var GetDate = BRHelpers.GetServerDate();
                                salesRoom.srGiftsRcptCloseD   = GetDate;
                                salesRoom.srCxCCloseD         = GetDate;
                                salesRoom.srShowsCloseD       = GetDate;
                                salesRoom.srMealTicketsCloseD = GetDate;
                                salesRoom.srSalesCloseD       = GetDate;

                                dbContext.SalesRooms.Add(salesRoom);
                                if (dbContext.SaveChanges() > 0)
                                {
                                    dbContext.USP_OR_AddAccessAdministrator("SR");
                                    dbContext.SaveChanges();
                                    nRes = 1;
                                    transaction.Commit();
                                }
                                else
                                {
                                    transaction.Rollback();
                                    return(0);
                                }
                            }
                        }
                        catch
                        {
                            transaction.Rollback();
                            nRes = 0;
                        }
                    }
                }
                #endregion
                return(nRes);
            }
        }
コード例 #3
0
        public void RegisterUser()
        {
            Console.Clear();
            Console.WriteLine(DesignedStrings.CreateUsr);
            Console.WriteLine("\nRegister user");
            Console.WriteLine("-------------");

            Console.Write("\nEnter username:"******"Enter password:"******"admin" && password == "admin1")
                {
                    var checkUser = context.Users.SingleOrDefault(c => c.Username == username);

                    if (checkUser == null)
                    {
                        User ToRegister = new User

                        {
                            Username     = username,
                            Password     = password,
                            Role         = UserAccess.SuperAdministrator,
                            RegisterDate = DateTime.Now,
                            IsUserActive = true
                        };
                        context.Users.Add(ToRegister);
                        context.SaveChanges();
                    }
                }
                else
                {
                    User ToRegister = new User

                    {
                        Username     = username,
                        Password     = password,
                        Role         = UserAccess.User,
                        RegisterDate = DateTime.Now,
                        IsUserActive = true
                    };
                    context.Users.Add(ToRegister);
                    context.SaveChanges();
                    Console.WriteLine("Registration Successful!");
                    CreatingLogs.LogUser(ToRegister);
                    Console.ReadLine();
                }
            }
        }
コード例 #4
0
 /// <summary>
 /// Guarda|Actualiza un registro en el catalogo
 /// </summary>
 /// <param name="warehouse">Objeto a guardar</param>
 /// <param name="blnUpdate">True. Actualiza | False. Inserta</param>
 /// <returns>-1 Existe un registro con el mismo ID | 0. No se guardó | 1. Se guardó</returns>
 /// <history>
 /// [emoguel] created 22/04/2016
 /// </history>
 public static int SaveWarehouse(Warehouse warehouse, bool blnUpdate)
 {
     using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString()))
     {
         int nRes = 0;
         #region Update
         if (blnUpdate)
         {
             dbContext.Entry(warehouse).State = System.Data.Entity.EntityState.Modified;
             return(dbContext.SaveChanges());
         }
         #endregion
         #region Add
         else
         {
             using (var transaction = dbContext.Database.BeginTransaction(System.Data.IsolationLevel.Serializable))
             {
                 try
                 {
                     Warehouse warehouseVal = dbContext.Warehouses.Where(wh => wh.whID == warehouse.whID).FirstOrDefault();
                     if (warehouseVal != null)
                     {
                         return(-1);
                     }
                     else
                     {
                         dbContext.Warehouses.Add(warehouse);
                         if (dbContext.SaveChanges() > 0)
                         {
                             dbContext.USP_OR_AddAccessAdministrator("WH");
                             dbContext.SaveChanges();
                             nRes = 1;
                             transaction.Commit();
                         }
                         else
                         {
                             transaction.Rollback();
                             return(0);
                         }
                     }
                 }
                 catch
                 {
                     transaction.Rollback();
                     nRes = 0;
                 }
             }
         }
         #endregion
         return(nRes);
     }
 }
コード例 #5
0
        /// <summary>
        /// Función para guardar un nuevo Exchange Rate agregado
        /// </summary>
        /// <param name="bUpd"> true - Insertar | false - Update </param>
        /// <param name="exchangeRate"> Entidad ExchangeRateDate</param>
        /// <param name="currencyID">Clave de la moneda</param>
        /// <param name="date">Fecha del servidor </param>
        /// <param name="HoursDif"> Diferencia de horas del SalesRoom</param>
        /// <param name="ChangedBy"> Clave de la persona que realiza la accion </param>
        /// <history>
        /// [vipacheco] 14/03/2016 Created
        /// [vipacheco] 10/Agosto/2016 Modified se agregó asincronia y se agrego la transaccion
        /// </history>
        public static void SaveExchangeRate(bool bUpd, ExchangeRate exchangeRate, string currencyID, DateTime date, short HoursDif, string ChangedBy)
        {
            using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString()))
            {
                using (var transaction = dbContext.Database.BeginTransaction(System.Data.IsolationLevel.Serializable))
                {
                    try
                    {
                        // Insertamos un nuevo Exchange
                        if (bUpd)
                        {
                            dbContext.Entry(exchangeRate).State = System.Data.Entity.EntityState.Added;
                        }
                        // Actualizamos un Exchange existente
                        else
                        {
                            dbContext.Entry(exchangeRate).State = System.Data.Entity.EntityState.Modified;
                        }

                        // Guadarmos el Log del cambio.
                        dbContext.USP_OR_SaveExchangeRateLog(currencyID, date, HoursDif, ChangedBy);

                        // Guardamos los cambios
                        dbContext.SaveChanges();
                        transaction.Commit();
                    }
                    catch
                    {
                        transaction.Rollback();
                        throw;
                    }
                }
            }
        }
コード例 #6
0
        /// <summary>
        /// Guarda la Nota y modifica el Guest
        /// </summary>
        /// <param name="prNote">Tipo nota</param>
        ///<param name="guest">Tipo de Guest</param>
        /// <history>
        /// [jorcanche] created 14/03/2016
        /// </history>
        public static async Task <int> SaveNoteGuest(PRNote prNote, Guest guest)
        {
            return(await Task.Run(() =>
            {
                using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString()))
                {
                    using (var transaction = dbContext.Database.BeginTransaction(System.Data.IsolationLevel.Serializable))
                    {
                        try
                        {
                            //Guardamos la informacion de la nota del guest
                            dbContext.Entry(prNote).State = System.Data.Entity.EntityState.Added;

                            //Guardamos la modificación del guest si se debe modificar
                            if (guest != null)
                            {
                                dbContext.Entry(guest).State = System.Data.Entity.EntityState.Modified;
                            }

                            var respuesta = dbContext.SaveChanges();
                            transaction.Commit();
                            return respuesta;
                        }
                        catch
                        {
                            transaction.Rollback();
                            return 0;
                        }
                    }
                }
            }));
        }
コード例 #7
0
        /// <summary>
        /// Agrega|Actualiza un registro en el catalogo Desk
        /// </summary>
        /// <param name="desk">Objeto a guardar en la BD</param>
        /// <param name="blnUpdate">True. Actualiza un registro | False. Agrega un registro</param>
        /// <param name="lstIdsComputers">id's de computers a relacionar</param>
        /// <returns>0. No se puedo guardar | > 0 . Se guardó correctamente | -1. Existe un registro con el mismo ID (Sólo cuando es insertar)</returns>
        /// <history>
        /// [emoguel] created 16/03/2016
        /// [emoguel] modified 09/06/2016---> se volvió async
        /// </history>
        public async static Task <int> SaveDesk(Desk desk, bool blnUpdate, List <string> lstIdsComputers)
        {
            int nRes = await Task.Run(() =>
            {
                using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString()))
                {
                    using (var transacction = dbContext.Database.BeginTransaction(System.Data.IsolationLevel.Serializable))
                    {
                        try
                        {
                            #region Actualizar
                            if (blnUpdate)//Si es actualizar
                            {
                                dbContext.Entry(desk).State = System.Data.Entity.EntityState.Modified;
                            }
                            #endregion
                            #region Agregar
                            else//Si es guardar
                            {
                                dbContext.Desks.Add(desk);
                            }
                            #endregion

                            #region Actualizar Computers

                            #region Desaignar
                            var lstComputersDes = (from cmp in dbContext.Computers
                                                   where !lstIdsComputers.Contains(cmp.cpID) &&
                                                   cmp.cpdk == desk.dkID
                                                   select cmp).ToList();     //Buscamos todas las computers asigndas que ya no estan en la lista

                            lstComputersDes.ForEach(cmp => cmp.cpdk = null); //Des-relacionamos las computers que no esten en la nueva lista

                            #endregion

                            #region Asignar
                            var lstComputersAsi = (from cmp in dbContext.Computers
                                                   where lstIdsComputers.Contains(cmp.cpID)
                                                   select cmp).ToList();          //Buscamos todas las computers que se van a asignar

                            lstComputersAsi.ForEach(cmp => cmp.cpdk = desk.dkID); //Des-relacionamos las computers que no esten en la nueva lista

                            #endregion
                            #endregion

                            int nSave = dbContext.SaveChanges();
                            transacction.Commit();
                            return(nSave);
                        }
                        catch
                        {
                            transacction.Rollback();
                            return(0);
                        }
                    }
                }
            });

            return(nRes);
        }
コード例 #8
0
        /// <summary>
        /// Guarda un sale Type Category.
        /// agregar sale Types al sale type category
        /// Eliminar saleTypes del sale type category
        /// </summary>
        /// <param name="saleTypeCategory">Objeto a guardar en la BD</param>
        /// <param name="blnUpdate">
        /// True. Actualiza
        /// False. Agrega
        /// </param>
        /// <param name="lstAddSaleTypes">Sale Types a agregar</param>
        /// <param name="lstDelSaleTypes">Sale Types a Eliiminar</param>
        /// <returns>-1.- Existe un registro con el mismo ID| 0. No se guardó | >0. Se guardó correctamente</returns>
        /// <history>
        /// [emoguel] created 01-08-2016
        /// </history>
        public static async Task <int> SaveSaleTypeCategory(SaleTypeCategory saleTypeCategory, bool blnUpdate, List <SaleType> lstAddSaleTypes, List <SaleType> lstDelSaleTypes)
        {
            return(await Task.Run(() =>
            {
                using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString()))
                {
                    using (var transacction = dbContext.Database.BeginTransaction(System.Data.IsolationLevel.Serializable))
                    {
                        try
                        {
                            if (blnUpdate)
                            {
                                dbContext.Entry(saleTypeCategory).State = EntityState.Modified;
                            }
                            else
                            {
                                if (dbContext.SaleTypesCategories.Where(stc => stc.stcID == saleTypeCategory.stcID).FirstOrDefault() != null)
                                {
                                    return -1;
                                }
                                else
                                {
                                    dbContext.Entry(saleTypeCategory).State = EntityState.Added;
                                }
                            }

                            #region
                            //Agregar saleTypes
                            if (lstAddSaleTypes.Count > 0)
                            {
                                lstAddSaleTypes.ForEach(st =>
                                {
                                    st.ststc = saleTypeCategory.stcID;
                                    dbContext.Entry(st).State = EntityState.Modified;
                                });
                            }
                            //Eliminar saleTypes
                            if (lstDelSaleTypes.Count > 0)
                            {
                                lstDelSaleTypes.ForEach(st =>
                                {
                                    st.ststc = null;
                                    dbContext.Entry(st).State = EntityState.Modified;
                                });
                            }
                            #endregion

                            int nRes = dbContext.SaveChanges();
                            transacction.Commit();
                            return nRes;
                        }
                        catch
                        {
                            transacction.Rollback();
                            throw;
                        }
                    }
                }
            }));
        }
コード例 #9
0
ファイル: BRHotelGroups.cs プロジェクト: jackjet870/IM-2
        /// <summary>
        /// Agrega|Actualiza registros en el catalogo HotelGroup
        /// Asigan|Desasigna Hotels de HotelGroups
        /// </summary>
        /// <param name="hotelGrooup">Objeto a guardar</param>
        /// <param name="blnUpdate">True. Actualiza | False. Inserta</param>
        /// <param name="lstAdd">Lista a asignar al Hotel Group</param>
        /// <param name="lstDel">Lista a Eliminar del grupo</param>
        /// <returns>-1. Existe un registro con el mismo ID | 0. No se pudo guardar | 1. Se guardó correctamente</returns>
        /// <history>
        /// [emoguel] created 13/05/2016
        /// [emoguel] modified 27/06/2016
        /// </history>
        public async static Task <int> SaveHotelGroup(HotelGroup hotelGrooup, bool blnUpdate, List <Hotel> lstAdd, List <Hotel> lstDel)
        {
            return(await Task.Run(() =>
            {
                using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString()))
                {
                    using (var transacction = dbContext.Database.BeginTransaction(System.Data.IsolationLevel.Serializable))
                    {
                        try
                        {
                            #region Update
                            if (blnUpdate)
                            {
                                dbContext.Entry(hotelGrooup).State = EntityState.Modified;
                            }
                            #endregion

                            #region Add
                            else
                            {
                                if (dbContext.HotelsGroups.Where(hoo => hoo.hgID == hotelGrooup.hgID).FirstOrDefault() != null)
                                {
                                    return -1;
                                }
                                else
                                {
                                    dbContext.HotelsGroups.Add(hotelGrooup);
                                }
                            }
                            #endregion

                            #region List Add
                            dbContext.Hotels.AsEnumerable().Where(ho => lstAdd.Any(hoo => hoo.hoID == ho.hoID)).ToList().ForEach(ho =>
                            {
                                ho.hoGroup = hotelGrooup.hgID;
                                dbContext.Entry(ho).State = EntityState.Modified;
                            });
                            #endregion

                            #region ListDel
                            dbContext.Hotels.AsEnumerable().Where(ho => lstDel.Any(hoo => hoo.hoID == ho.hoID)).ToList().ForEach(ho =>
                            {
                                ho.hoGroup = null;
                                dbContext.Entry(ho).State = EntityState.Modified;
                            });
                            #endregion

                            int nRes = dbContext.SaveChanges();
                            transacction.Commit();
                            return nRes;
                        }
                        catch
                        {
                            transacction.Rollback();
                            return 0;
                        }
                    }
                }
            }));
        }
コード例 #10
0
ファイル: BRSegmentsOrder.cs プロジェクト: jackjet870/IM-2
        /// <summary>
        /// Actualiza el orden de los registros de segmentByAgency y SegmentByLeadSource
        /// </summary>
        /// <param name="lstAgency">Lista de segmentByAgency</param>
        /// <param name="lstLeadSource">Lista de LeadSource</param>
        /// <returns>0. No se guardó | >0. Se guardó correctamente</returns>
        /// <history>
        /// [emoguel] created 01/06/2016
        /// </history>
        public async static Task <int> SaveSegmentsOrder(List <Item> lstAgency, List <Item> lstLeadSource)
        {
            int nRes = await Task.Run(() => {
                using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString()))
                {
                    using (var transacction = dbContext.Database.BeginTransaction(System.Data.IsolationLevel.Serializable))
                    {
                        try
                        {
                            lstAgency.ForEach(it => {
                                var segmentA = dbContext.SegmentsByAgencies.Where(se => se.seID == it.UserId).FirstOrDefault();
                                segmentA.seO = Convert.ToInt32(it.Id);
                            });

                            lstLeadSource.ForEach(it =>
                            {
                                var segmentLS = dbContext.SegmentsByLeadSources.Where(so => so.soID == it.UserId).FirstOrDefault();
                                segmentLS.soO = Convert.ToInt32(it.Id);
                            });

                            int nSave = dbContext.SaveChanges();
                            transacction.Commit();
                            return(nSave);
                        }
                        catch
                        {
                            transacction.Rollback();
                            return(0);
                        }
                    }
                }
            });

            return(nRes);
        }
コード例 #11
0
        public void MessageSend(User Sender)
        {
            User Receiver;

            do
            {
                Receiver = SelectUser();
            }while (Receiver is null);

            Console.WriteLine(DesignedStrings.Messagestring + "\nPlease write the subject of your Message :");
            string Subject = IC.InputSubject();

            Console.WriteLine("What you wanna send");
            Message ToSend = new Message
            {
                SenderId   = Sender.Id,
                RecieverId = Receiver.Id,
                Subject    = Subject,
                Data       = IC.InputMessage(),
                Date       = DateTime.Now
            };

            using (var context = new IMEntities())
            {
                context.Messages.Add(ToSend);
                context.SaveChanges();
            }

            Console.WriteLine("Message sent! Press any key to continue");
            CreatingLogs.LogMessage(ToSend);
            Console.ReadKey();
        }
コード例 #12
0
ファイル: BRSaleAmountRanges.cs プロジェクト: jackjet870/IM-2
        /// <summary>
        /// Agrega|Actualiza un registro en el catalogo SalesAmountRanges
        /// </summary>
        /// <param name="salesAmountRange">Objeto a guardar</param>
        /// <param name="blnUpdate">Truw. Actualiza  | False. Agrega</param>
        /// <returns>0. No se guardó | 1. Se guardó  | -2. verificar el rango</returns>
        /// <history>
        /// [emoguel] crated 20/04/2016
        /// </history>
        public static int SaveSalesAmountRange(SalesAmountRange salesAmountRange, bool blnUpdate)
        {
            using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString()))
            {
                #region Validar Rango
                bool blnValid = false;
                var  query    = dbContext.SalesAmountRanges.Where(sn => sn.snFrom <= salesAmountRange.snFrom && salesAmountRange.snFrom <= sn.snTo);
                if (blnUpdate)
                {
                    query = query.Where(sn => sn.snID != salesAmountRange.snID);
                }
                SalesAmountRange salAmoRange = query.FirstOrDefault();

                blnValid = (salAmoRange == null);
                #endregion

                if (blnValid)
                {
                    dbContext.Entry(salesAmountRange).State = (blnUpdate) ? EntityState.Modified : EntityState.Added;
                }
                else
                {
                    return(-2);
                }
                return(dbContext.SaveChanges());
            }
        }
コード例 #13
0
        /// <summary>
        /// Elimina un MailOut de MailOuts y MailOutTexts
        /// </summary>
        /// <param name="mo">MailOut</param>
        /// <returns> Numero de registros afectados </returns>
        /// <history>
        /// [erosado] 20/04/2016  Created
        /// [erosado] 06/07/2016  Modified. Se agregó Async
        /// </history>
        public async static Task <int> DeleteMailOut(MailOut mo)
        {
            int result = 0;
            await Task.Run(() =>
            {
                using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString()))
                {
                    using (var transaction = dbContext.Database.BeginTransaction(System.Data.IsolationLevel.Serializable))
                    {
                        try
                        {
                            //Eliminamos el MailOut
                            dbContext.Entry(mo).State = System.Data.Entity.EntityState.Deleted;
                            //Obtenemos todos los MailOutText que correspondan al MailOut Que vamos a eliminar
                            List <MailOutText> motlst = (from x in dbContext.MailOutTexts where x.mtls == mo.mols && x.mtmoCode == mo.moCode select x).ToList();
                            //Eliminamos cada uno de los MailOutTexts
                            motlst.ForEach(x => dbContext.Entry(x).State = System.Data.Entity.EntityState.Deleted);
                            result = dbContext.SaveChanges();
                            transaction.Commit();
                        }
                        catch
                        {
                            transaction.Rollback();
                            throw;
                        }
                    }
                }
            });

            return(result);
        }
コード例 #14
0
ファイル: BRPersonnel.cs プロジェクト: jackjet870/IM-2
        /// <summary>
        /// Elimina Personnels de la BD
        /// </summary>
        /// <param name="lstPersonnels"></param>
        /// <returns>0. No se pudo eliminar | >0. Se eliminarion correctamente</returns>
        /// <history>
        /// [emoguel] created 14/06/2016
        /// </history>
        public static async Task <int> DeletePersonnels(List <PersonnelShort> lstPersonnels)
        {
            int nRes = await Task.Run(() =>
            {
                using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString()))
                {
                    using (var transacction = dbContext.Database.BeginTransaction(System.Data.IsolationLevel.Serializable))
                    {
                        try
                        {
                            dbContext.Database.CommandTimeout = Settings.Default.USP_OR_DeletePersonnel;
                            lstPersonnels.ForEach(pe =>
                            {
                                dbContext.USP_OR_DeletePersonnel(pe.peID);
                            });

                            int nSave = dbContext.SaveChanges();
                            transacction.Commit();
                            return(1);
                        }
                        catch
                        {
                            transacction.Rollback();
                            throw;
                        }
                    }
                }
            });

            return(nRes);
        }
コード例 #15
0
        /// <summary>
        /// Guarda los shows de vendedores
        /// </summary>
        /// <param name="guestId">Guest ID</param>
        /// <param name="lstShowSalesman">Lista de shows de vendedores</param>
        /// <history>
        /// [aalcocer] created 10/08/2016
        /// </history>
        public static async Task <int> SaveShowsSalesmen(int guestId, List <ShowSalesman> lstShowSalesman)
        {
            return(await Task.Run(() =>
            {
                using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString()))
                {
                    using (var transacction = dbContext.Database.BeginTransaction(System.Data.IsolationLevel.Serializable))
                    {
                        try
                        {
                            //Del
                            dbContext.ShowsSalesmen.RemoveRange(dbContext.ShowsSalesmen.Where(ss => ss.shgu == guestId));

                            //Add
                            lstShowSalesman.ForEach(ss =>
                            {
                                ShowSalesman showSalesman = ObjectHelper.CopyProperties(ss);
                                dbContext.Entry(showSalesman).State = EntityState.Added;
                            });

                            var nSave = dbContext.SaveChanges();
                            transacction.Commit();
                            return nSave;
                        }
                        catch
                        {
                            transacction.Rollback();
                            throw;
                        }
                    }
                }
            }));
        }
コード例 #16
0
        public void DeleteUser(int id)
        {
            Console.WriteLine(DesignedStrings.DeleteUsr);
            List <User> UsersList = DB.GetAllUsers();
            UserChoice  Choice    = ConsoleMenu.GetUserChoice(UsersList.Select(usr => usr.Username).ToList(), "Choose the right User for you ");



            string usernameForDelete;

            //Console.WriteLine("Choose the username of the user you would like to delete:");
            usernameForDelete = Console.ReadLine();

            if (usernameForDelete is null)
            {
                return;
            }

            if (!DoesUsernameExist(usernameForDelete)) // Check if username already exists in database
            {
                Console.WriteLine("We are so sorry  but the username you entered does not exist.\nPlease choose another user to delete.");

                Console.ReadKey();
            }
            else
            {
                User ToBeDeleted = FindUserViaUsername(usernameForDelete);

                if (ToBeDeleted.Role == UserAccess.SuperAdministrator)
                {
                    Console.WriteLine("\n\nPress any key to go back to Super Admin Menu.");
                    Console.ReadKey();
                    return;
                }
                bool userActive = IsUserActive(usernameForDelete);

                if (!userActive)
                {
                    Console.WriteLine($"\nThe user with username '{usernameForDelete}' is no longer active.");

                    Console.WriteLine("\n\nPress any key to go back to Menu.");

                    Console.ReadKey();
                }
                else
                {
                    using (var context = new IMEntities())
                    {
                        User ToDelete = context.Users.FirstOrDefault(usr => usr.Id == ToBeDeleted.Id);
                        context.Users.Remove(ToDelete);
                        context.SaveChanges();
                    }

                    Console.WriteLine($"\nUser '{usernameForDelete}' is no longer active .");
                    Console.WriteLine("\n\nPress any key to go back to  Menu.");

                    Console.ReadKey();
                }
            }
        }
コード例 #17
0
        public void AddUser(string username, string password, UserAccess Role = UserAccess.User)
        {
            using (var context = new IMEntities())
            {
                Console.Clear();
                Console.WriteLine(DesignedStrings.CreateUsr);
                Console.WriteLine();
                Console.ForegroundColor = ConsoleColor.DarkGreen;
                Console.WriteLine("Creating new user profile.....Please wait...");

                context.Users.Add(new User
                {
                    Username     = username,
                    Password     = password,
                    Role         = UserAccess.User,
                    RegisterDate = DateTime.Now,
                    IsUserActive = true
                });

                context.SaveChanges();

                Console.ReadLine();
                Console.WriteLine($"\nNew user profile with username '{username}' has been created!");
                Console.WriteLine($"\n Press any key to continue");
                Console.ReadKey();

                Console.ResetColor();
            }
        }
コード例 #18
0
        /// <summary>
        /// Actualiza la posición de los registros de segmentcategory
        /// </summary>
        /// <param name="lstSegmentsCategoriesOrder">Lista de SegmentCategory</param>
        /// <returns>0. No se guardó | >0. Se guardó correctamente</returns>
        /// <history>
        /// [emoguel] created 03/06/2016
        /// </history>
        public static async Task <int> ChangeSegmentsCategoryOrder(List <SegmentCategory> lstSegmentsCategoriesOrder)
        {
            int nRes = await Task.Run(() =>
            {
                using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString()))
                {
                    using (var transaction = dbContext.Database.BeginTransaction(System.Data.IsolationLevel.Serializable))
                    {
                        try
                        {
                            lstSegmentsCategoriesOrder.ForEach(sc =>
                            {
                                dbContext.Entry(sc).State = System.Data.Entity.EntityState.Modified;
                            });
                            int nSave = dbContext.SaveChanges();
                            transaction.Commit();
                            return(nSave);
                        }
                        catch
                        {
                            transaction.Rollback();
                            return(0);
                        }
                    }
                }
            });

            return(nRes);
        }
コード例 #19
0
        /// <summary>
        /// Agrega|Actualiza registros del catalogo depts
        /// </summary>
        /// <param name="dept">Objeto a guardar</param>
        /// <param name="blnUpdate">Truw. Actualiza | False. Agrega</param>
        /// <param name="lstAdd">Personnels a asignar</param>
        /// <param name="lstDel">Personels a desasignar</param>
        /// <returns>0. No se guardó | 1. Se guardó | -1. Existe un registro con el mismo ID</returns>
        /// <history>
        /// [emoguel] created 04/05/2016
        /// [emoguel] modified 29/07/2016--->Se volvió async
        /// </history>
        public static async Task <int> SaveDept(Dept dept, bool blnUpdate, List <Personnel> lstAdd, List <Personnel> lstDel)
        {
            return(await Task.Run(() =>
            {
                using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString()))
                {
                    using (var transaction = dbContext.Database.BeginTransaction(System.Data.IsolationLevel.Serializable))
                    {
                        try
                        {
                            #region Update
                            if (blnUpdate)
                            {
                                dbContext.Entry(dept).State = EntityState.Modified;
                            }
                            #endregion

                            #region Add
                            else
                            {
                                Dept deptVal = dbContext.Depts.Where(de => de.deID == dept.deID).FirstOrDefault();
                                if (deptVal != null)
                                {
                                    return -1;
                                }
                                else
                                {
                                    dbContext.Depts.Add(dept);
                                }
                            }
                            #endregion

                            #region add personnel
                            if (lstAdd.Count > 0)
                            {
                                dbContext.Personnels.AsEnumerable().Where(pe => lstAdd.Any(pee => pee.peID == pe.peID)).ToList().ForEach(pe => pe.pede = dept.deID);
                            }
                            #endregion

                            #region del Personnel
                            if (lstDel.Count > 0)
                            {
                                dbContext.Personnels.AsEnumerable().Where(pe => lstDel.Any(pee => pee.peID == pe.peID)).ToList().ForEach(pe => pe.pede = null);
                            }
                            #endregion

                            int nRes = dbContext.SaveChanges();
                            transaction.Commit();
                            return nRes;
                        }
                        catch
                        {
                            transaction.Rollback();
                            return 0;
                        }
                    }
                }
            }));
        }
コード例 #20
0
        /// <summary>
        /// Guarda un registro en el catalogo ShowProgramcategories
        /// Asigan y Desasigna showprograms a su category
        /// </summary>
        /// <param name="showProgramcategory">Objeto a guardar</param>
        /// <param name="lstAdd">Lista para asignar</param>
        /// <param name="lstDel">Lista para desasignar</param>
        /// <param name="blnUpdate">True. Actualiza | False. Inserta</param>
        /// <returns>-1. Existe un registro con el mismo ID | 0. No se guardó | 1. se guardó</returns>
        /// <history>
        /// [emoguel] created 04/06/2016
        /// </history>
        public static async Task <int> SaveShowProgramCategory(ShowProgramCategory showProgramcategory, List <ShowProgram> lstAdd, List <ShowProgram> lstDel, bool blnUpdate)
        {
            int nRes = await Task.Run(() => {
                using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString()))
                {
                    using (var transacction = dbContext.Database.BeginTransaction(System.Data.IsolationLevel.Serializable))
                    {
                        try
                        {
                            #region Actualizar
                            if (blnUpdate)
                            {
                                dbContext.Entry(showProgramcategory).State = System.Data.Entity.EntityState.Modified;
                            }
                            #endregion
                            #region Agregar
                            else
                            {
                                if (dbContext.ShowProgramsCategories.Where(sg => sg.sgID == showProgramcategory.sgID).FirstOrDefault() != null)
                                {
                                    return(-1);
                                }
                                else
                                {
                                    dbContext.ShowProgramsCategories.Add(showProgramcategory);
                                }
                            }
                            #endregion

                            #region AddShowProgram
                            dbContext.ShowPrograms.AsEnumerable().Where(sk => lstAdd.Any(skk => sk.skID == skk.skID)).ToList().ForEach(sk =>
                            {
                                sk.sksg = showProgramcategory.sgID;
                            });
                            #endregion

                            #region DelShowProgram
                            dbContext.ShowPrograms.AsEnumerable().Where(sk => lstDel.Any(skk => sk.skID == skk.skID)).ToList().ForEach(sk =>
                            {
                                sk.sksg = null;
                            });
                            #endregion

                            int nSave = dbContext.SaveChanges();
                            transacction.Commit();
                            return(nSave);
                        }
                        catch
                        {
                            transacction.Rollback();
                            throw;
                        }
                    }
                }
            });

            return(nRes);
        }
コード例 #21
0
ファイル: BRZones.cs プロジェクト: jackjet870/IM-2
        /// <summary>
        /// Guarda un registro en el catalogo Zone
        /// </summary>
        /// <param name="zone">objeto a guardar</param>
        /// <param name="lstAdd">Lista a asignar</param>
        /// <param name="lstDel">Lista a eliminar</param>
        /// <param name="blnUpdate">True. Actualiza | False. Inserta</param>
        /// <returns>-1. Extiste un registro con el mismo ID | 0. No se guardó | 1. Se guardó</returns>
        /// <history>
        /// [emoguel] created 09/06/2016
        /// </history>
        public async static Task <int> SaveZone(Zone zone, List <LeadSource> lstAdd, List <LeadSource> lstDel, bool blnUpdate)
        {
            int nRes = await Task.Run(() =>
            {
                using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString()))
                {
                    using (var transacction = dbContext.Database.BeginTransaction(System.Data.IsolationLevel.Serializable))
                    {
                        try
                        {
                            #region Update
                            if (blnUpdate)
                            {
                                dbContext.Entry(zone).State = System.Data.Entity.EntityState.Modified;
                            }
                            #endregion
                            #region Add
                            else
                            {
                                if (dbContext.Zones.Where(zn => zn.znID == zone.znID).FirstOrDefault() != null)
                                {
                                    return(-1);
                                }
                                else
                                {
                                    dbContext.Zones.Add(zone);
                                }
                            }
                            #endregion

                            #region LeadSources
                            //Add
                            dbContext.LeadSources.AsEnumerable().Where(ls => lstAdd.Any(lss => lss.lsID == ls.lsID)).ToList().ForEach(ls =>
                            {
                                ls.lszn = zone.znID;
                            });
                            //Delete
                            dbContext.LeadSources.AsEnumerable().Where(ls => lstDel.Any(lss => lss.lsID == ls.lsID)).ToList().ForEach(ls =>
                            {
                                ls.lszn = null;
                            });
                            #endregion

                            int nSave = dbContext.SaveChanges();
                            transacction.Commit();
                            return(nSave);
                        }
                        catch
                        {
                            transacction.Rollback();
                            return(0);
                        }
                    }
                }
            });

            return(nRes);
        }
コード例 #22
0
ファイル: BRMealTickets.cs プロジェクト: jackjet870/IM-2
        /// <summary>
        /// Función que agrega un nuevo Meal Ticket
        /// </summary>
        /// <param name="pMealTicket"></param>
        /// <history>
        /// [vipacheco] 01/04/2016 Created
        /// </history>
        public static void InsertNewMealTicket(MealTicket pMealTicket)
        {
            using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString()))
            {
                dbContext.MealTickets.Add(pMealTicket);

                dbContext.SaveChanges();
            }
        }
コード例 #23
0
ファイル: BRMealTickets.cs プロジェクト: jackjet870/IM-2
        /// <summary>
        /// Función que actualiza un Meal Ticket creado anteriomente
        /// </summary>
        /// <param name="pMealTicket"></param>
        /// <history>
        /// [vipacheco] 01/04/2016 Created
        /// </history>
        public static void UpdateMealTicket(MealTicket pMealTicket)
        {
            using (var dbcontext = new IMEntities(ConnectionHelper.ConnectionString()))
            {
                dbcontext.Entry(pMealTicket).State = System.Data.Entity.EntityState.Modified;

                dbcontext.SaveChanges();
            }
        }
コード例 #24
0
        /// <summary>
        /// Elimina un MailOut de MailOuts y MailOutTexts
        /// </summary>
        /// <param name="_mols">mols</param>
        /// <param name="_moCode">moCode</param>
        /// <returns>-1 Error -0 Ya existe ese MailOut - >0 Registros Afectados</returns>
        /// <history>
        /// [erosado] 20/04/2016  Created
        /// [erosado] 06/07/2016  Modified. Se agregó async.
        /// </history>
        public async static Task <int> InsertMailOut(string _mols, string _moCode)
        {
            int result = 0;
            await Task.Run(() =>
            {
                using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString()))
                {
                    using (var transaction = dbContext.Database.BeginTransaction(System.Data.IsolationLevel.Serializable))
                    {
                        try
                        {
                            //Verificamos que no exista un MailOut igual al que queremos insertar
                            if (dbContext.MailOuts.Any(x => x.mols == _mols && x.moCode == _moCode))
                            {
                                result = 0;
                            }
                            else
                            {
                                //Agregamos el nuevo MailOut
                                dbContext.Entry(
                                    new MailOut()
                                {
                                    mols   = _mols,
                                    moCode = _moCode
                                }).State = System.Data.Entity.EntityState.Added;

                                //Lista de Languages
                                List <string> languages = dbContext.Languages.Select(x => x.laID).ToList();

                                //Insertamos un MailOutText Por cada Lenguaje
                                languages.ForEach(laID => dbContext.MailOutTexts.Add(
                                                      new MailOutText()
                                {
                                    mtls     = _mols,
                                    mtmoCode = _moCode,
                                    mtla     = laID,
                                    mtU      = BRHelpers.GetServerDateTime()
                                }));

                                //Guardamos Cambios
                                dbContext.SaveChanges();
                                transaction.Commit();
                                result = 1;
                            }
                        }
                        catch
                        {
                            transaction.Rollback();
                            throw;
                        }
                    }
                }
            });

            return(result);
        }
コード例 #25
0
 /// <summary>
 /// Actualiza el RTF de un MailOutsText
 /// </summary>
 /// <param name="mot">MailOutText</param>
 /// <history>
 /// [erosado] 08/04/2016  Created
 /// [erosado] 05/07/2016  Modified. Se agregó Async.
 /// </history>
 public async static Task UpdateRTFMailOutTexts(MailOutText mot)
 {
     await Task.Run(() =>
     {
         using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString()))
         {
             dbContext.Entry(mot).State = System.Data.Entity.EntityState.Modified;
             dbContext.SaveChanges();
         }
     });
 }
コード例 #26
0
        /// <summary>
        /// Método para guardar nuevos movimientos en un almacén.
        /// </summary>
        /// <param name="lstWhsMovs">Lista de movimientos para agregar.</param>
        /// <history>
        /// [edgrodriguez] 22/Feb/2016 Created
        /// </history>
        public static void SaveWarehouseMovements(ref List <WarehouseMovement> lstWhsMovs)
        {
            IEnumerable <WarehouseMovement> lstResult;

            using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString()))
            {
                lstResult = dbContext.WarehouseMovements.AddRange(lstWhsMovs);
                dbContext.SaveChanges();
            }
            lstWhsMovs = lstResult.ToList();
        }
コード例 #27
0
        /// <summary>
        /// Agrega|Actualiza un Program
        /// Asigna una lista de leadSource
        /// </summary>
        /// <param name="program">Objeto a guardar</param>
        /// <param name="lstAdd">LeadSources a asignar</param>
        /// <param name="blnUpdate">True. Actualiza | False. inserta</param>
        /// <returns>-1. Existe un registro con el mismo ID | 0. No se guardó | >0. Se guardó</returns>
        /// <history>
        /// [emoguel] created 26/05/2016
        /// </history>
        public async static Task <int> SaveProgram(Program program, List <LeadSource> lstAdd, bool blnUpdate)
        {
            int nRes = 0;

            nRes = await Task.Run(() =>
            {
                using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString()))
                {
                    using (var transacction = dbContext.Database.BeginTransaction(System.Data.IsolationLevel.Serializable))
                    {
                        try
                        {
                            #region MyRegion
                            if (blnUpdate)//Actualiza
                            {
                                dbContext.Entry(program).State = EntityState.Modified;
                            }
                            #endregion
                            #region Add
                            else
                            {
                                if (dbContext.Programs.Where(pg => pg.pgID == program.pgID).FirstOrDefault() != null)
                                {
                                    return(-1);
                                }
                                else
                                {
                                    dbContext.Programs.Add(program);
                                }
                            }
                            #endregion

                            #region LeadSource
                            dbContext.LeadSources.AsEnumerable().Where(ls => lstAdd.Any(lss => lss.lsID == ls.lsID)).ToList().ForEach(ls =>
                            {
                                ls.lspg = program.pgID;
                            });
                            #endregion

                            int nSave = dbContext.SaveChanges();
                            transacction.Commit();
                            return(nSave);
                        }
                        catch
                        {
                            transacction.Rollback();
                            return(0);
                        }
                    }
                }
            });

            return(nRes);
        }
コード例 #28
0
        /// <summary>
        /// Guarda|Actualiza un registro en el catalogo LocationsCategories
        /// Asigna|desasigna locations de loa¿cationscategories
        /// </summary>
        /// <param name="locationCategory">Objeto a guardar</param>
        /// <param name="lstAdd">Locations a asignar</param>
        /// <param name="lstDel">Locations a desasignar</param>
        /// <param name="blnUpdate">True. Actualiza | False. Agrega</param>
        /// <returns>-1. Existe un registro con el mismo ID | 0. No se guardó | >0. Se guardó correctamente</returns>
        /// <history>
        /// [emoguel] created 18/05/2016
        /// [emoguel] modified 29/07/2016 se volvió async
        /// </history>
        public static async Task <int> SaveLocationCategories(LocationCategory locationCategory, List <Location> lstAdd, List <Location> lstDel, bool blnUpdate)
        {
            return(await Task.Run(() =>
            {
                using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString()))
                {
                    using (var transacction = dbContext.Database.BeginTransaction(System.Data.IsolationLevel.Serializable))
                    {
                        try
                        {
                            if (blnUpdate)
                            {
                                dbContext.Entry(locationCategory).State = EntityState.Modified;
                            }
                            else
                            {
                                var locationVal = dbContext.LocationsCategories.Where(lc => lc.lcID == locationCategory.lcID).FirstOrDefault();
                                if (locationVal != null)
                                {
                                    return -1;
                                }
                                else
                                {
                                    dbContext.LocationsCategories.Add(locationCategory);
                                }
                            }

                            #region Locations
                            dbContext.Locations.AsEnumerable().Where(lo => lstAdd.Any(loo => loo.loID == lo.loID)).ToList().ForEach(lo =>
                            {//Agresignar locaciones
                                lo.lolc = locationCategory.lcID;
                            });

                            dbContext.Locations.AsEnumerable().Where(lo => lstDel.Any(loo => loo.loID == lo.loID)).ToList().ForEach(lo =>
                            {//Agresignar locaciones
                                lo.lolc = null;
                            });
                            #endregion

                            int nRes = dbContext.SaveChanges();
                            transacction.Commit();
                            return nRes;
                        }
                        catch
                        {
                            transacction.Rollback();
                            return 0;
                        }
                    }
                }
            }));
        }
コード例 #29
0
ファイル: BRSales.cs プロジェクト: jackjet870/IM-2
 /// <summary>
 /// Guarda los cambios de un Sale
 /// </summary>
 /// <param name="sale"></param>
 /// <history>
 /// [jorcanche]  creted 28062016
 /// </history>
 public static async Task <int> SaveChangedSale(Sale sale)
 {
     return(await Task.Run(() =>
     {
         using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString()))
         {
             var personel = dbContext.Personnels.First();
             sale.Personnel_LinerCaptain1 = personel;
             dbContext.Entry(sale).State = System.Data.Entity.EntityState.Modified;
             return dbContext.SaveChanges();
         }
     }));
 }
コード例 #30
0
ファイル: BRMembershipGroups.cs プロジェクト: jackjet870/IM-2
        /// <summary>
        /// Agrega|Actualiza un membershipGroup
        /// Asigna|Desasina una lista de membershiptype
        /// </summary>
        /// <param name="membershipGroup">Objeto a guardar</param>
        /// <param name="lstAdd">lista a asignar</param>
        /// <param name="blnUpdate">True. Actualiza | False. Inserta</param>
        /// <returns>0. No se pudo guardar | >1. Se guardó correctamente | -1. Existe un registro con el mismo ID</returns>
        /// <history>
        /// [emoguel] created 19/05/2016
        /// </history>
        public async static Task <int> SaveMembershipGroup(MembershipGroup membershipGroup, List <MembershipType> lstAdd, bool blnUpdate)
        {
            return(await Task.Run(() =>
            {
                using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString()))
                {
                    using (var transaccion = dbContext.Database.BeginTransaction(IsolationLevel.Serializable))
                    {
                        try
                        {
                            #region Update
                            if (blnUpdate)
                            {
                                dbContext.Entry(membershipGroup).State = System.Data.Entity.EntityState.Modified;
                            }
                            #endregion
                            #region Add
                            else
                            {
                                if (dbContext.MembershipsGroups.Where(mg => mg.mgID == membershipGroup.mgID).FirstOrDefault() != null)
                                {
                                    return -1;
                                }
                                else
                                {
                                    dbContext.MembershipsGroups.Add(membershipGroup);
                                }
                            }
                            #endregion

                            #region membership a asignar
                            dbContext.MembershipTypes.AsEnumerable().Where(mt => lstAdd.Any(mtt => mtt.mtID == mt.mtID)).ToList().ForEach(mt =>
                            {
                                mt.mtGroup = membershipGroup.mgID;
                            });
                            #endregion

                            int nRes = 0;
                            nRes = dbContext.SaveChanges();
                            transaccion.Commit();
                            return nRes;
                        }
                        catch
                        {
                            transaccion.Rollback();
                            return 0;
                        }
                    }
                }
            }));
        }