예제 #1
0
 partial void Deletetbl_Bank(tbl_Bank instance);
예제 #2
0
 partial void Updatetbl_Bank(tbl_Bank instance);
예제 #3
0
 partial void Inserttbl_Bank(tbl_Bank instance);
예제 #4
0
		private void detach_tbl_Banks(tbl_Bank entity)
		{
			this.SendPropertyChanging();
			entity.tbl_USER = null;
		}
예제 #5
0
		private void attach_tbl_Banks(tbl_Bank entity)
		{
			this.SendPropertyChanging();
			entity.tbl_USER = this;
		}
예제 #6
0
파일: Metodos.cs 프로젝트: Mariobeto/Wsim
        public static string Work(string usuario)
        {
            var FechaHoy = DateTime.Now;
            SessionDBDataContext dbWsim = new SessionDBDataContext();

            usuario = Desencriptar(usuario.Replace("Usuario=", ""));
            int UsuarioID = 0;
            try
            {
                UsuarioID = (from t in dbWsim.tbl_USERs
                             where t.Usr_Name.Equals(usuario)
                             select t.Usr_id).Single();

                var ConsultaSiYaTrabajo = (from t in dbWsim.tbl_Workdays
                                           where t.User_ID == UsuarioID
                                           && t.Workday_Date.Month == FechaHoy.Month
                                           && t.Workday_Date.Day == FechaHoy.Day
                                           && t.Workday_Date.Year == FechaHoy.Year
                                           select t.Workday_Date).Single();
                return "You already work commander, you can only work 1 time a day";
            }
            catch (Exception) { }

            var userInfo = (from t in dbWsim.View_UserInfos
                            where t.User_ID == UsuarioID
                                      select t).Single();
            int cantidadProducir = 0;

            switch (userInfo.Usr_EconomySkill)
            {
                case 1:
                    cantidadProducir = 100;
                    break;
                case 2:
                    cantidadProducir = 120;
                    break;
                case 3:
                    cantidadProducir = 140;
                    break;
                case 4:
                    cantidadProducir = 160;
                    break;
                case 5:
                    cantidadProducir = 180;
                    break;
                case 6:
                    cantidadProducir = 200;
                    break;
                case 7:
                    cantidadProducir = 220;
                    break;
                case 8:
                    cantidadProducir = 240;
                    break;
                case 9:
                    cantidadProducir = 260;
                    break;
                default:
                    cantidadProducir = 100;
                    break;
            }

            //Se resta el raw de la tabla inventarios que se cambia por el item  a producir
            try
            {
                var ItemIdRaw = (from r in dbWsim.tbl_Items
                               where r.Item_ID == userInfo.ItemToProduceID
                               select r.ItemIDRawProduce).Single();

                var restRaw = (from r in dbWsim.tbl_Inventories
                               where r.User_ID == userInfo.User_OwnerID
                               && r.Item_ID == ItemIdRaw
                               && r.Invtry_Item_Quality == userInfo.Company_Level
                               select r).Single();
                if (restRaw.Invtry_Item_Quantity >= cantidadProducir)
                    restRaw.Invtry_Item_Quantity -= cantidadProducir;
                else//No tiene el raw necesario para producir el item
                    return "The company doesnt have enought materials to produce " +userInfo.ItemNameToProduce;

                var produceItem = (from r in dbWsim.tbl_Inventories
                                   where r.User_ID == userInfo.User_OwnerID
                                   && r.Item_ID == userInfo.ItemToProduceID
                                   && r.Invtry_Item_Quality == userInfo.Company_Level
                                   select r).Single();
                produceItem.Invtry_Item_Quantity += cantidadProducir;

                dbWsim.SubmitChanges();
            }
            catch (Exception)
            {
                tbl_Inventory insertInvetry = new tbl_Inventory();
                insertInvetry.User_ID = userInfo.User_OwnerID;
                insertInvetry.Invtry_Item_Quantity += cantidadProducir;
                insertInvetry.Item_ID = userInfo.ItemToProduceID;
                insertInvetry.Invtry_Item_Quality = userInfo.Company_Level;
                dbWsim.tbl_Inventories.InsertOnSubmit(insertInvetry);
                dbWsim.SubmitChanges();
            }

            //El salario del empleado faltan los impuestos
            try
            {
                try
                {
                    var paysalary = (from t in dbWsim.tbl_Banks
                                     where t.User_ID == userInfo.User_OwnerID
                                     && t.Mny_ID == userInfo.MnyTypeID
                                     && t.Bank_Quantity > userInfo.Salary
                                     select t).Single();
                    paysalary.Bank_Quantity -= userInfo.Salary;
                }
                catch (Exception) { return "The company doesnt have enough resources to pay your salary"
                  +  " you can buy on the market"; }

                var insertBank = (from t in dbWsim.tbl_Banks
                                  where t.User_ID == userInfo.User_ID
                                  && t.Mny_ID == userInfo.MnyTypeID
                                  select t).Single();
                insertBank.Bank_Quantity += userInfo.Salary;

            }
            catch (Exception)
            {
                tbl_Bank banc = new tbl_Bank();
                banc.Bank_Quantity = userInfo.Salary;
                banc.Mny_ID = Convert.ToInt32(userInfo.MnyTypeID);
                banc.User_ID = userInfo.User_ID;
                dbWsim.tbl_Banks.InsertOnSubmit(banc);
                dbWsim.SubmitChanges();
            }

            var insertUsers = (from t in dbWsim.tbl_USERs
                            where t.Usr_id == userInfo.User_ID
                            select t).Single();
            insertUsers.Usr_Experience += 2;

            tbl_Workday insertWorkDay = new tbl_Workday();
            insertWorkDay.Company_ID = userInfo.Compny_ID;
            insertWorkDay.User_ID = userInfo.User_ID;
            insertWorkDay.Workday_Date = FechaHoy;

            var consultCuantasVecesTrabajado = (from t in dbWsim.tbl_Workdays
                                                where t.User_ID == userInfo.User_ID
                                                select t).Count();
            switch (consultCuantasVecesTrabajado)
            {
                case 0:
                    insertUsers.Usr_EconomySkill = 1;
                    insertUsers.Usr_TitleJob = "Assistant";
                    break;
                case 2:
                    insertUsers.Usr_EconomySkill = 2;
                    insertUsers.Usr_TitleJob = "Junior";
                    break;
                case 4:
                    insertUsers.Usr_EconomySkill = 3;
                    insertUsers.Usr_TitleJob = "Senior";
                    break;
                case 15:
                    insertUsers.Usr_EconomySkill = 4;
                    insertUsers.Usr_TitleJob = "Coordinator";
                    break;
                case 23:
                    insertUsers.Usr_EconomySkill = 5;
                    insertUsers.Usr_TitleJob = "Specialist";
                    break;
                case 32:
                    insertUsers.Usr_EconomySkill = 6;
                    insertUsers.Usr_TitleJob = "Expert";
                    break;
                case 54:
                    insertUsers.Usr_EconomySkill = 7;
                    insertUsers.Usr_TitleJob = "Master";
                    break;
                case 95:
                    insertUsers.Usr_EconomySkill = 8;
                    insertUsers.Usr_TitleJob = "Guru";
                    break;
                case 168:
                    insertUsers.Usr_EconomySkill = 9;
                    insertUsers.Usr_TitleJob = "Guru *";
                    break;
                default:

                    break;
            }

            try
            {
                DateTime diaAyer = DateTime.Now.AddDays(-1);
                var workingDaysInRow = (from t in dbWsim.tbl_Workdays
                                        where t.User_ID == userInfo.User_ID
                                        && t.Workday_Date.Day == diaAyer.Day
                                        select t.Workday_Date).Single();
                insertUsers.Usr_WorkDaysInRow++;

                if (insertUsers.Usr_WorkDaysInRow == 30)
                {

                }
            }
            catch(Exception){}
            dbWsim.tbl_Workdays.InsertOnSubmit(insertWorkDay);
            dbWsim.SubmitChanges();
            return "You succesfully work! come back tomorrow commander to work again.";
        }