Example #1
0
		///<summary>Converts a DataTable to a list of objects.</summary>
		public static List<Reseller> TableToList(DataTable table){
			List<Reseller> retVal=new List<Reseller>();
			Reseller reseller;
			for(int i=0;i<table.Rows.Count;i++) {
				reseller=new Reseller();
				reseller.ResellerNum     = PIn.Long  (table.Rows[i]["ResellerNum"].ToString());
				reseller.PatNum          = PIn.Long  (table.Rows[i]["PatNum"].ToString());
				reseller.UserName        = PIn.String(table.Rows[i]["UserName"].ToString());
				reseller.ResellerPassword= PIn.String(table.Rows[i]["ResellerPassword"].ToString());
				retVal.Add(reseller);
			}
			return retVal;
		}
        public List<ImportErrorMessage> InsertImportResellerRecord()
        {
            List<ImportErrorMessage> warnings = new List<ImportErrorMessage>();

            CanonDataContext db = Cdb.Instance;

            // create reseller group if it doesn't exist yet
            ResellerGroup resellerGroup = db.ResellerGroups.FirstOrDefault(rg => rg.Code == this.ResellerGroupCode);
            if (resellerGroup == null)
            {
                resellerGroup = new ResellerGroup();
                resellerGroup.Code = this.ResellerGroupCode;
                resellerGroup.FileAs = "Nová_" + this.ResellerGroupCode;

                db.ResellerGroups.InsertOnSubmit(resellerGroup);
            }

            // update Reseller
            Reseller reseller = db.Resellers.FirstOrDefault(r => r.IdentificationNumber == this.IdentificationNumber);
            if (reseller == null)
            {
                reseller = new Reseller();

                db.Resellers.InsertOnSubmit(reseller);
            }

            reseller.IdentificationNumber = this.IdentificationNumber;
            reseller.FileAs = this.FileAs;
            reseller.ResellerGroup = resellerGroup;
            reseller.IDCountry = int.Parse(this.CountryCode);
            reseller.Code = string.Empty;

            // insert ImportReseller
            ImportResellerRecord record = new ImportResellerRecord();
            record.CountryCode = this.CountryCode;
            record.FileAs = this.FileAs;
            record.IdentificationNumber = this.IdentificationNumber;
            record.IDImportReseller = this.ImportReseller.ID;
            record.ResellerGroupCode = this.ResellerGroupCode;

            db.ImportResellerRecords.InsertOnSubmit(record);
            db.SubmitChanges();

            return warnings;
        }
Example #3
0
        public override List <Reseller> GetResellers()
        {
            var tmp = new List <Reseller>();

            using (MySqlConnection _conn = new MySqlConnection(connectionString))
            {
                _conn.Open();
                using (MySqlCommand _cmd = new MySqlCommand(@"SELECT * FROM clients", _conn))
                {
                    using (MySqlDataReader _read = _cmd.ExecuteReader())
                    {
                        while (_read.Read())
                        {
                            var res = new Reseller();
                            res.Id         = Convert.ToInt32(DataExtensions.GetColumnValue <uint>(_read, "id"));
                            res.Address1   = DataExtensions.GetColumnValue <string>(_read, "address");
                            res.City       = DataExtensions.GetColumnValue <string>(_read, "city");
                            res.Country    = DataExtensions.GetColumnValue <string>(_read, "country");
                            res.fax        = DataExtensions.GetColumnValue <string>(_read, "fax");
                            res.Phone      = DataExtensions.GetColumnValue <string>(_read, "phone");
                            res.PostalCode = DataExtensions.GetColumnValue <string>(_read, "pcode");
                            res.Province   = DataExtensions.GetColumnValue <string>(_read, "country");

                            res.FirstName    = DataExtensions.GetColumnValue <string>(_read, "pname");
                            res.Password     = DataExtensions.GetColumnValue <string>(_read, "passwd");
                            res.Username     = DataExtensions.GetColumnValue <string>(_read, "login");
                            res.Email        = DataExtensions.GetColumnValue <string>(_read, "email");
                            res.Organization = DataExtensions.GetColumnValue <string>(_read, "cname");

                            res.Limits = ResellerLimits(res.Username);

                            tmp.Add(res);
                        }
                    }
                }
                _conn.Close();
            }

            return(tmp);
        }
Example #4
0
        public async Task CreateOrder_ValidData_Success()
        {
            // Arrange
            var command = new CreateOrderCommand
            {
                Id          = Guid.NewGuid(),
                Amount      = 1000,
                ResellerCpf = "84567632761"
            };
            var reseller = new Reseller
            {
                CPF = command.ResellerCpf
            };

            fixture.ResellerRepositoryMock.Setup(foo => foo.GetByCpfAsync(command.ResellerCpf)).ReturnsAsync(reseller);

            // Act
            await fixture.Instance.Send(command);

            // Assert
            fixture.OrderRepositoryMock.Verify(m => m.CreateAsync(It.IsAny <Order>()), Times.Once());
        }
 public ActionResult Edit(Reseller reseller)
 {
     if (HasPermission("Edit Reseller"))
     {
         try
         {
             ResellerService.EditReseller(reseller);
         }
         catch (DbUpdateException ex)
         {
             TempData["EditFail"] = "Reseller already exists";
             return(RedirectToAction("Edit", new { id = reseller.ResellerID }));
         }
         catch (Exception ex)
         {
             TempData["EditError"] = "Error in Editing the Reseller";
             return(RedirectToAction("Edit", new { id = reseller.ResellerID }));
         }
         TempData["EditSuccess"] = "Edit successful";
         return(RedirectToAction("Index"));
     }
     return(View("~/Views/Home/UnAuthorized.cshtml"));
 }
Example #6
0
        ///<summary>Updates one Reseller in the database.  Uses an old object to compare to, and only alters changed fields.  This prevents collisions and concurrency problems in heavily used tables.  Returns true if an update occurred.</summary>
        public static bool Update(Reseller reseller, Reseller oldReseller)
        {
            string command = "";

            if (reseller.PatNum != oldReseller.PatNum)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "PatNum = " + POut.Long(reseller.PatNum) + "";
            }
            if (reseller.UserName != oldReseller.UserName)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "UserName = '******'";
            }
            if (reseller.ResellerPassword != oldReseller.ResellerPassword)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "ResellerPassword = '******'";
            }
            if (command == "")
            {
                return(false);
            }
            command = "UPDATE reseller SET " + command
                      + " WHERE ResellerNum = " + POut.Long(reseller.ResellerNum);
            Db.NonQ(command);
            return(true);
        }
Example #7
0
        private void butAdd_Click(object sender, EventArgs e)
        {
            if (!Security.IsAuthorized(Permissions.SecurityAdmin))
            {
                return;
            }
            FormPatientSelect FormPS = new FormPatientSelect();

            FormPS.ShowDialog();
            if (FormPS.DialogResult != DialogResult.OK)
            {
                return;
            }
            Patient patientSelected = Patients.GetPat(FormPS.SelectedPatNum);

            if (patientSelected.Guarantor != FormPS.SelectedPatNum)
            {
                MsgBox.Show(this, "Customer must be a guarantor before they can be added as a reseller.");
                return;
            }
            if (Resellers.IsResellerFamily(patientSelected))
            {
                MsgBox.Show(this, "Customer is already a reseller or part of a reseller family.");
                return;
            }
            Reseller reseller = new Reseller()
            {
                PatNum        = FormPS.SelectedPatNum,
                BillingType   = 42,            //Hardcoded to HQs "No Support: Developer/Reseller"
                VotesAllotted = 0,
                Note          = "This is a customer of a reseller.  We do not directly support this customer.",
            };

            Resellers.Insert(reseller);
            FillGrid();
        }
Example #8
0
		///<summary>Inserts one Reseller into the database.  Returns the new priKey.</summary>
		public static long Insert(Reseller reseller){
			if(DataConnection.DBtype==DatabaseType.Oracle) {
				reseller.ResellerNum=DbHelper.GetNextOracleKey("reseller","ResellerNum");
				int loopcount=0;
				while(loopcount<100){
					try {
						return Insert(reseller,true);
					}
					catch(Oracle.DataAccess.Client.OracleException ex){
						if(ex.Number==1 && ex.Message.ToLower().Contains("unique constraint") && ex.Message.ToLower().Contains("violated")){
							reseller.ResellerNum++;
							loopcount++;
						}
						else{
							throw ex;
						}
					}
				}
				throw new ApplicationException("Insert failed.  Could not generate primary key.");
			}
			else {
				return Insert(reseller,false);
			}
		}
        public void TestGetResellerDeletedClients()
        {
            //Arrange
            Reseller      r       = resellerService.GetResellers().FirstOrDefault();
            List <Client> clients = new List <Client>();

            clients.Add(new Client()
            {
                IsDeleted = true, ClientID = Guid.NewGuid(), ClientName = "Microsoft", ResellerID = r.ResellerID
            });
            clients.Add(new Client()
            {
                IsDeleted = true, ClientID = Guid.NewGuid(), ClientName = "ITworx", ResellerID = r.ResellerID
            });
            r.Clients = clients;

            //Act
            List <Client> GotClients = resellerService.GetResellerDeletedClients(r.ResellerID).ToList();

            //Assert
            Assert.AreEqual(2, GotClients.Count());
            Assert.AreEqual("Microsoft", GotClients[0].ClientName);
            Assert.AreEqual("ITworx", GotClients[1].ClientName);
        }
Example #10
0
		///<summary>Inserts one Reseller into the database.  Provides option to use the existing priKey.</summary>
		public static long Insert(Reseller reseller,bool useExistingPK){
			if(!useExistingPK && PrefC.RandomKeys) {
				reseller.ResellerNum=ReplicationServers.GetKey("reseller","ResellerNum");
			}
			string command="INSERT INTO reseller (";
			if(useExistingPK || PrefC.RandomKeys) {
				command+="ResellerNum,";
			}
			command+="PatNum,UserName,ResellerPassword) VALUES(";
			if(useExistingPK || PrefC.RandomKeys) {
				command+=POut.Long(reseller.ResellerNum)+",";
			}
			command+=
				     POut.Long  (reseller.PatNum)+","
				+"'"+POut.String(reseller.UserName)+"',"
				+"'"+POut.String(reseller.ResellerPassword)+"')";
			if(useExistingPK || PrefC.RandomKeys) {
				Db.NonQ(command);
			}
			else {
				reseller.ResellerNum=Db.NonQ(command,true);
			}
			return reseller.ResellerNum;
		}
Example #11
0
        public async Task <IActionResult> Create([Bind("SoftwareId,Name,Version,LicenseStart,LicenseEnd,UseCases,Description,TechAreaId,TipiId,Vendor,ItOwnerId,BusinessOwnerId,PurposeId,IsUsed,IsInternetFacing,IsMobile,TotalLicenses,LicensesInUse,ItOwnerName,ResellerId,Confidentiality,Integrity,Availability,Traceability")] Software software,
                                                 [Bind("LicenseInfo")] bool LicenseInfo,
                                                 [Bind("TeamId")] int[] teams,
                                                 [Bind("BusinessOwnerTeamId")] int[] businessTeams,
                                                 string ResellerBox
                                                 )
        {
            var currentUser = _userManager.GetUserAsync(HttpContext.User).Result;
            var vm          = new CreateVM();

            software.Standardized = DateTime.Now;
            software.AppUser      = currentUser;
            software.ItOwner      = await _context.Teams.Where(t => t.TeamId == software.ItOwnerId).FirstOrDefaultAsync();

            var selectListTeams        = _context.Teams.Include(it => it.ItSoftwares);
            var selectListItOnly       = _context.Teams.Where(t => t.Department.Name == "Infrastructure");
            var selectListBusinessOnly = _context.Teams.Where(t => t.Department.Name != "Infrastructure");



            if (LicenseInfo == false || software.LicenseStart == null || software.LicenseEnd == null)
            {
                software.LicenseStart = DateTime.Now.AddYears(-1);
                software.LicenseEnd   = DateTime.Now.AddYears(1);
            }



            if ((software.LicenseStart > software.LicenseEnd) || (software.TotalLicenses < software.LicensesInUse))
            {
                ModelState.AddModelError(string.Empty, "End License Date cannot be smaller than Start License Date!");
                ModelState.AddModelError(string.Empty, "Or Number of Licenses in Use cannot be bigger than Total Licenses!");

                software.TeamIds = new List <int>();
                software.BusinessOwnerTeamIds = new List <int>();
                foreach (var id in teams)
                {
                    software.TeamIds.Add(id);
                }

                foreach (var id in businessTeams)
                {
                    software.BusinessOwnerTeamIds.Add(id);
                }


                ViewData["TeamId"] = new MultiSelectList(selectListTeams, "TeamId", "Name", software.TeamIds);
                ViewData["BusinessOwnerTeamId"] = new MultiSelectList(_context.Teams, "TeamId", "Name", software.BusinessOwnerTeamIds);
                ViewData["TechAreaId"]          = new SelectList(_context.TechAreas, "TechAreaId", "Name", software.TechAreaId);
                ViewData["ItOwnerId"]           = new SelectList(selectListTeams, "TeamId", "Name", software.ItOwner.TeamId);
                ViewData["TipiId"]     = new SelectList(_context.Tipies, "TipiId", "Name", software.TipiId);
                ViewData["PurposeId"]  = new SelectList(_context.Purposes, "PurposeId", "Name", software.PurposeId);
                ViewData["ResellerId"] = new SelectList(_context.Reseller, "ResellerId", "Name", software.ResellerId);
                vm.Software            = software;
                return(View(vm));
            }

            if (ModelState.IsValid)
            {
                if (software.ResellerId == null && ResellerBox != null)
                {
                    var tempReseller = new Reseller
                    {
                        Name = ResellerBox
                    };
                    _context.Reseller.Add(tempReseller);
                    await _context.SaveChangesAsync();

                    software.Reseller = await _context.Reseller.LastAsync();
                }

                _context.Add(software);
                await _context.SaveChangesAsync();

                SoftwareTeam st = new SoftwareTeam();
                SoftwareBusinessOwnerTeam sbot = new SoftwareBusinessOwnerTeam();
                var currentSoftwareId          = _context.Softwares.Last().SoftwareId;

                /*
                 * if (teams.Length == 0)
                 * {
                 *  //st.TeamId = currentUser.TeamId ?? 0; --> this gets the team of the current logged in user
                 *  st.TeamId = _context.Teams.Where(t => t.Name == "Unknown").FirstOrDefault().TeamId; //gets the 'Uknwon Team'
                 *  st.SoftwareId = currentSoftwareId;
                 *  _context.SoftwareTeams.Add(st);
                 *  await _context.SaveChangesAsync();
                 * }*/
                if (teams.FirstOrDefault() == -1)
                {
                    var tempTeams = _context.Teams.ToArray();
                    foreach (var t in tempTeams)
                    {
                        st.TeamId     = t.TeamId;
                        st.SoftwareId = currentSoftwareId;
                        _context.SoftwareTeams.Add(st);
                        await _context.SaveChangesAsync();
                    }
                }
                else
                {
                    foreach (var t in teams)
                    {
                        st.TeamId     = t;
                        st.SoftwareId = currentSoftwareId;
                        _context.SoftwareTeams.Add(st);
                        await _context.SaveChangesAsync();
                    }
                }

                if (businessTeams.FirstOrDefault() == -1)
                {
                    var tempTeams = _context.Teams.ToArray();
                    foreach (var t in tempTeams)
                    {
                        sbot.BusinessOwnerTeamId = t.TeamId;
                        sbot.SoftwareId          = currentSoftwareId;
                        _context.SoftwareBusinessOwnerTeams.Add(sbot);
                        await _context.SaveChangesAsync();
                    }
                }
                else
                {
                    foreach (var t in businessTeams)
                    {
                        sbot.BusinessOwnerTeamId = t;
                        sbot.SoftwareId          = currentSoftwareId;
                        _context.SoftwareBusinessOwnerTeams.Add(sbot);
                        await _context.SaveChangesAsync();
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }

            software.TeamIds = new List <int>();
            software.BusinessOwnerTeamIds = new List <int>();
            foreach (var id in teams)
            {
                software.TeamIds.Add(id);
            }

            foreach (var id in businessTeams)
            {
                software.BusinessOwnerTeamIds.Add(id);
            }

            vm.Software = software;

            ViewData["TeamId"] = new MultiSelectList(selectListTeams, "TeamId", "Name", software.TeamIds);
            ViewData["BusinessOwnerTeamId"] = new MultiSelectList(_context.Teams, "TeamId", "Name", software.BusinessOwnerTeamIds);
            ViewData["ItOwnerId"]           = new SelectList(selectListTeams, "TeamId", "Name", software.ItOwnerId);
            ViewData["TechAreaId"]          = new SelectList(_context.TechAreas, "TechAreaId", "Name", software.TechAreaId);
            ViewData["TipiId"]     = new SelectList(_context.Tipies, "TipiId", "Name", software.TipiId);
            ViewData["PurposeId"]  = new SelectList(_context.Purposes, "PurposeId", "Name", software.PurposeId);
            ViewData["ResellerId"] = new SelectList(_context.Reseller, "ResellerId", "Name", software.ResellerId);
            return(View(vm));
        }
Example #12
0
 public async Task Create(Reseller entity)
 {
     await repository.Create(entity);
 }
Example #13
0
 /// <summary>
 /// Called after a reseller is updated
 /// </summary>
 /// <param name="reseller">The reseller which was updated</param>
 partial void AfterUpdateReseller(Reseller reseller);
 public async Task CreateAsync(Reseller revendedor)
 {
     dbContext.Resellers.Add(revendedor);
     await dbContext.SaveChangesAsync();
 }
Example #15
0
 /// <summary>
 /// Called after a reseller is added
 /// </summary>
 /// <param name="reseller">The reseller which was added</param>
 partial void AfterAddReseller(Reseller reseller);
        public Guid GetResellerID(string UserID)
        {
            Reseller reseller = ResellerService.GetUserReseller(UserID).FirstOrDefault();

            return(reseller.ResellerID);
        }
Example #17
0
        public async Task Add(Reseller reseller)
        {
            await _dbSet.AddAsync(reseller);

            await _context.SaveChangesAsync();
        }
Example #18
0
        public override List <Reseller> GetResellers()
        {
            var _tmp = new List <Reseller>();

            using (OdbcConnection _conn = new OdbcConnection(connectionString))
            {
                _conn.Open();
                using (OdbcCommand _cmd = new OdbcCommand(@"SELECT Username AS uname, [Password] AS pass, Name_Sirname, Company_Name, 
                        Contact_Name, EMail, Phone, Fax, WUrl, Msn, ICQ, 
                         Address, City, State, PostCode, Country, Account_Disable, 
                        Limit_Host, Limit_WebSpace, Limit_Traffic, Limit_Stats, Limit_FrontPage, Limit_MailAccounts, 
                         Limit_ODBCDSN, Limit_MySQL, Limit_DomainAlias, HostAccountsDisable, Limit_SubDomain
                                                        FROM Reseller_Accounts", _conn))
                {
                    using (OdbcDataReader _read = _cmd.ExecuteReader())
                    {
                        while (_read.Read())
                        {
                            var _d = new Reseller();
                            _d.Address1     = DataExtensions.GetColumnValue <String>(_read, "Address");
                            _d.City         = DataExtensions.GetColumnValue <String>(_read, "City");
                            _d.Country      = DataExtensions.GetColumnValue <String>(_read, "Country");
                            _d.Email        = DataExtensions.GetColumnValue <String>(_read, "EMail");
                            _d.fax          = DataExtensions.GetColumnValue <String>(_read, "Fax");
                            _d.FirstName    = DataExtensions.GetColumnValue <String>(_read, "Name_Sirname");
                            _d.Organization = DataExtensions.GetColumnValue <String>(_read, "Company_Name");
                            _d.Phone        = DataExtensions.GetColumnValue <String>(_read, "Phone");
                            _d.PostalCode   = DataExtensions.GetColumnValue <String>(_read, "PostCode");
                            _d.Province     = DataExtensions.GetColumnValue <String>(_read, "State");

                            _d.Password = DataExtensions.GetColumnValue <String>(_read, "pass");
                            _d.Username = DataExtensions.GetColumnValue <String>(_read, "uname");

                            var limits = new HostLimit();
                            limits.DiskSpace      = DataExtensions.GetColumnValue <int>(_read, "Limit_WebSpace");
                            limits.MaxDomain      = DataExtensions.GetColumnValue <int>(_read, "Limit_Host");
                            limits.MaxDomainAlias = DataExtensions.GetColumnValue <int>(_read, "Limit_DomainAlias");
                            limits.MaxFtpTraffic  = -1;
                            limits.MaxFtpUser     = 1;
                            limits.MaxMailBox     = DataExtensions.GetColumnValue <int>(_read, "Limit_MailAccounts");
                            limits.MaxMailTraffic = -1;

                            limits.MaxMsSqlDb      = 0;
                            limits.MaxMsSqlDbSpace = 0;
                            limits.MaxMsSqlDbUser  = 0;

                            limits.MaxMySqlDb      = DataExtensions.GetColumnValue <int>(_read, "Limit_MySQL");
                            limits.MaxMySqlDbSpace = -1;
                            limits.MaxMySqlUser    = DataExtensions.GetColumnValue <int>(_read, "Limit_MySQL");

                            limits.MaxSubDomain      = DataExtensions.GetColumnValue <int>(_read, "Limit_SubDomain");
                            limits.MaxWebTraffic     = -1;
                            limits.TotalMailBoxQuota = -1;

                            _d.Limits = limits;

                            _tmp.Add(_d);
                        }
                    }
                }

                _conn.Close();
            }

            return(_tmp);
        }
Example #19
0
 ///<summary>Inserts one Reseller into the database.  Returns the new priKey.  Doesn't use the cache.</summary>
 public static long InsertNoCache(Reseller reseller)
 {
     return(InsertNoCache(reseller, false));
 }
Example #20
0
 /// <summary>
 /// Called after a reseller is deleted
 /// </summary>
 /// <param name="reseller">The reseller which was deleted</param>
 partial void AfterDeleteReseller(Reseller reseller);
Example #21
0
 /// <summary>
 /// Called before a reseller is deleted.  Throw a SkipOperationException
 /// if the update should not happen
 /// </summary>
 /// <param name="reseller">The reseller to add</param>
 partial void BeforeDeleteReseller(Reseller reseller);
Example #22
0
 public SalespointBuilder ForReseller(Reseller reseller)
 {
     reseller.AddSalespoint(Item);
     return(MySelf);
 }
 public void CreateReseller(Reseller r)
 {
     resellersRepository.Add(r);
 }
Example #24
0
        public async Task Create(Reseller entity)
        {
            await context.Resellers.AddAsync(entity);

            await Save();
        }
 public void EditReseller(Reseller reseller)
 {
     resellersRepository.Update(reseller);
 }
 public void AddResellerUser(Reseller r, string UserMail)
 {
     resellersRepository.AddResellerUser(r, UserMail);
 }
Example #27
0
 /// <summary>
 /// Called before a reseller is added.  Throw a SkipOperationException
 /// if the update should not happen
 /// </summary>
 /// <param name="reseller">The reseller to add</param>
 partial void BeforeAddReseller(Reseller reseller);
 public ResellerViewModel MapToViewModel(Reseller reseller)
 {
     return(Mapper.Map <Reseller, ResellerViewModel>(reseller));
 }
Example #29
0
		///<summary>Updates one Reseller in the database.  Uses an old object to compare to, and only alters changed fields.  This prevents collisions and concurrency problems in heavily used tables.</summary>
		public static void Update(Reseller reseller,Reseller oldReseller){
			string command="";
			if(reseller.PatNum != oldReseller.PatNum) {
				if(command!=""){ command+=",";}
				command+="PatNum = "+POut.Long(reseller.PatNum)+"";
			}
			if(reseller.UserName != oldReseller.UserName) {
				if(command!=""){ command+=",";}
				command+="UserName = '******'";
			}
			if(reseller.ResellerPassword != oldReseller.ResellerPassword) {
				if(command!=""){ command+=",";}
				command+="ResellerPassword = '******'";
			}
			if(command==""){
				return;
			}
			command="UPDATE reseller SET "+command
				+" WHERE ResellerNum = "+POut.Long(reseller.ResellerNum);
			Db.NonQ(command);
		}
 public void DeleteReseller(Reseller ToBeDeleted)
 {
     resellersRepository.Delete(ToBeDeleted);
 }
Example #31
0
        public async Task <IActionResult> Edit(int id, [Bind("SoftwareId,Name,Version,LicenseStart,LicenseEnd,UseCases,Description,TechAreaId,TipiId,AppUserId,Vendor,ItOwnerId,BusinessOwnerId,PurposeId,IsUsed,IsInternetFacing,IsMobile,TotalLicenses,LicensesInUse,ItOwnerName,ResellerId,Standardized,Confidentiality,Integrity,Availability,Traceability")] Software software,
                                               [Bind("LicenseInfo")] bool LicenseInfo,
                                               [Bind("TeamId")] int[] teams,
                                               [Bind("BusinessOwnerTeamId")] int[] businessTeams,
                                               string ResellerBox)
        {
            if (id != software.SoftwareId)
            {
                return(NotFound());
            }

            //gets current user's id

            /*
             * var currentUser = _userManager.GetUserAsync(HttpContext.User).Result;
             * software.AppUser = currentUser;
             */
            var currentUser     = _userManager.FindByIdAsync(software.AppUserId).Result;
            var selectListTeams = _context.Teams;
            var vm = new EditVM();

            software.Review  = DateTime.Now;
            software.ItOwner = await _context.Teams.Where(t => t.TeamId == software.ItOwnerId).FirstOrDefaultAsync();


            //Checks the dates, returns an error if dates are not good, fills the selected lists
            if (LicenseInfo == false || software.LicenseStart == null || software.LicenseEnd == null)
            {
                //Software thisSoftware = await _context.Softwares.FirstOrDefaultAsync(s => s == software);
                software.LicenseStart = DateTime.Now.AddYears(-1);
                software.LicenseEnd   = DateTime.Now.AddYears(1);
            }


            if ((software.LicenseStart > software.LicenseEnd) || (software.TotalLicenses < software.LicensesInUse))
            {
                ModelState.AddModelError(string.Empty, "End License Date cannot be smaller than Start License Date");
                ModelState.AddModelError(string.Empty, "Or Number of Licenses in Use cannot be bigger than Total Licenses!");

                software.TeamIds = new List <int>();
                software.BusinessOwnerTeamIds = new List <int>();
                foreach (var Id in teams)
                {
                    software.TeamIds.Add(Id);
                }

                foreach (var Id in businessTeams)
                {
                    software.BusinessOwnerTeamIds.Add(Id);
                }

                ViewData["TeamId"] = new MultiSelectList(selectListTeams, "TeamId", "Name", software.TeamIds);
                ViewData["BusinessOwnerTeamId"] = new MultiSelectList(selectListTeams, "TeamId", "Name", software.BusinessOwnerTeamIds);
                ViewData["ItOwnerId"]           = new SelectList(selectListTeams, "TeamId", "Name", software.ItOwnerId);
                ViewData["TechAreaId"]          = new SelectList(_context.TechAreas, "TechAreaId", "Name", software.TechAreaId);
                ViewData["TipiId"]     = new SelectList(_context.Tipies, "TipiId", "Name", software.TipiId);
                ViewData["PurposeId"]  = new SelectList(_context.Purposes, "PurposeId", "Name", software.PurposeId);
                ViewData["ResellerId"] = new SelectList(_context.Reseller, "ResellerId", "Name", software.ResellerId);
                vm.Software            = software;
                return(View(vm));
            }



            if (ModelState.IsValid)
            {
                try
                {
                    if (software.ResellerId == null && ResellerBox != null)
                    {
                        var tempReseller = new Reseller
                        {
                            Name = ResellerBox
                        };
                        _context.Reseller.Add(tempReseller);
                        await _context.SaveChangesAsync();

                        software.Reseller = await _context.Reseller.LastAsync();
                    }


                    _context.Update(software);
                    await _context.SaveChangesAsync();

                    SoftwareTeam st = new SoftwareTeam();
                    SoftwareBusinessOwnerTeam sbot = new SoftwareBusinessOwnerTeam();
                    var currentSoftwareId          = _context.Softwares.FirstOrDefault(s => s.SoftwareId == software.SoftwareId).SoftwareId;

                    //Delte old records
                    var oldSTs = _context.SoftwareTeams.Where(oldsts => oldsts.SoftwareId == id).ToList();

                    _context.SoftwareTeams.RemoveRange(oldSTs);
                    await _context.SaveChangesAsync();

                    var oldsbot = _context.SoftwareBusinessOwnerTeams.Where(oldsbots => oldsbots.SoftwareId == id).ToList();
                    _context.SoftwareBusinessOwnerTeams.RemoveRange(oldsbot);

                    /*
                     * if (teams.Length == 0)
                     * {
                     *  //st.TeamId = currentUser.TeamId ?? 0; --> this gets the team of the current logged in user
                     *  st.TeamId =  _context.Teams.Where(t => t.Name == "Unknown").FirstOrDefault().TeamId; //gets the 'Uknwon Team'
                     *  st.SoftwareId = currentSoftwareId;
                     *  _context.SoftwareTeams.Add(st);
                     *  await _context.SaveChangesAsync();
                     * }*/

                    //SoftwareTeams
                    if (teams.FirstOrDefault() == -1)
                    {
                        var tempTeams = _context.Teams.ToArray();
                        foreach (var t in tempTeams)
                        {
                            st.TeamId     = t.TeamId;
                            st.SoftwareId = currentSoftwareId;
                            _context.SoftwareTeams.Add(st);
                            await _context.SaveChangesAsync();
                        }
                    }
                    else
                    {
                        foreach (var t in teams)
                        {
                            st.TeamId     = t;
                            st.SoftwareId = currentSoftwareId;
                            _context.SoftwareTeams.Add(st);
                            await _context.SaveChangesAsync();
                        }
                    }

                    //SoftwareBusinessOwnerTeams
                    if (businessTeams.FirstOrDefault() == -1)
                    {
                        var tempTeams = _context.Teams.ToArray();
                        foreach (var t in tempTeams)
                        {
                            sbot.BusinessOwnerTeamId = t.TeamId;
                            sbot.SoftwareId          = currentSoftwareId;
                            _context.SoftwareBusinessOwnerTeams.Add(sbot);
                            await _context.SaveChangesAsync();
                        }
                    }
                    else
                    {
                        foreach (var t in businessTeams)
                        {
                            sbot.BusinessOwnerTeamId = t;
                            sbot.SoftwareId          = currentSoftwareId;
                            _context.SoftwareBusinessOwnerTeams.Add(sbot);
                            await _context.SaveChangesAsync();
                        }
                    }
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!SoftwareExists(software.SoftwareId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }

            software.TeamIds = new List <int>();
            software.BusinessOwnerTeamIds = new List <int>();
            foreach (var Id in teams)
            {
                software.TeamIds.Add(Id);
            }
            foreach (var Id in businessTeams)
            {
                software.BusinessOwnerTeamIds.Add(Id);
            }

            vm.Software = software;

            ViewData["TeamId"] = new MultiSelectList(selectListTeams, "TeamId", "Name", software.TeamIds);
            ViewData["BusinessOwnerTeamId"] = new MultiSelectList(selectListTeams, "TeamId", "Name", software.BusinessOwnerTeamIds);
            ViewData["ItOwnerId"]           = new SelectList(selectListTeams, "TeamId", "Name", software.ItOwnerId);
            ViewData["TechAreaId"]          = new SelectList(_context.TechAreas, "TechAreaId", "Name", software.TechAreaId);
            ViewData["TipiId"]     = new SelectList(_context.Tipies, "TipiId", "Name", software.TipiId);
            ViewData["PurposeId"]  = new SelectList(_context.Purposes, "PurposeId", "Name", software.PurposeId);
            ViewData["ResellerId"] = new SelectList(_context.Reseller, "ResellerId", "Name", software.ResellerId);
            return(View(vm));
        }
Example #32
0
		///<summary>Updates one Reseller in the database.</summary>
		public static void Update(Reseller reseller){
			string command="UPDATE reseller SET "
				+"PatNum          =  "+POut.Long  (reseller.PatNum)+", "
				+"UserName        = '******', "
				+"ResellerPassword= '******' "
				+"WHERE ResellerNum = "+POut.Long(reseller.ResellerNum);
			Db.NonQ(command);
		}
Example #33
0
 /// <summary>
 /// Called before a reseller is updated.  Throw a SkipOperationException
 /// if the update should not happen
 /// </summary>
 /// <param name="reseller">The reseller to update</param>
 partial void BeforeUpdateReseller(Reseller reseller);