コード例 #1
0
        ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


        public double GetTotalAskingFunds(string projectcode)
        {
            double result = 0.00;

            using (var db = new CrowDoDB()) //
            {
                ProjectItem p                     = db.Projects.Where(item => item.ProjectCode.Equals(projectcode)).First();
                string      values1               = p.NumberOfRequestedPackages;
                string[]    tokens1               = values1.Split(',');
                int[]       noOfRequestedPacks    = Array.ConvertAll <string, int>(tokens1, int.Parse);
                string      values2               = p.PackageCode.ToUpper();
                string[]    tokens2               = values2.Split(',');
                int[]       costs                 = new int[tokens2.Length];
                List <PackageItemAsking> packages = db.PackagesAsking.ToList();
                for (int i = 0; i < tokens2.Length; i++)
                {
                    PackageItemAsking package = packages.Where(pack => pack.PackageCode.Equals(tokens2[i].Trim())).First();
                    if (package == null)
                    {
                        Console.WriteLine("The pack was not found");
                        continue;
                    }
                    costs[i] = package.Cost;
                    result  += costs[i] * noOfRequestedPacks[i];
                }
                p.TotalAskingFunds = result;
                db.SaveChanges();
            }
            return(result);
        }
コード例 #2
0
        ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

        public string AddFund(FundingDTO fund)
        {
            using (var db = new CrowDoDB())
            {
                ProjectItem projectItem = db.Projects.Where(p => p.ProjectCode.Equals(fund.ProjectCode)).First();
                if (projectItem == null)
                {
                    return("no");
                }
                User user = db.Users.Where(u => u.UserCode.Equals(fund.UserCode)).First();
                if (user == null)
                {
                    return("no");
                }
                PackageItemAsking p = db.PackagesAsking.Where(pa => pa.PackageCode.Equals(fund.PackageCode)).First();
                if (p == null)
                {
                    return("no");
                }
                Funding fundEnt = new Funding
                {
                    User             = user,
                    ProjectItem      = projectItem,
                    PackageCode      = fund.PackageCode,
                    NumberOfPackages = 1,
                    ProjectCode      = fund.ProjectCode,
                    UserCode         = fund.UserCode
                };

                double totalFund = p.Cost + projectItem.TotalReceivingFunds;
                if (totalFund <= projectItem.TotalAskingFunds)
                {
                    projectItem.TotalReceivingFunds = totalFund;
                    db.Fundings.Add(fundEnt);
                    db.SaveChanges();
                    return("You have funded a new Project");
                }
                else
                {
                    return("This Project is maxed out on Funds");
                }
            }
        }
コード例 #3
0
        public string LoadPackageItemReceivedToDB()
        {
            Packages packages = new Packages();

            using (var db = new CrowDoDB())
            {
                packages.PackageReceivedList.ForEach(pack =>
                {
                    int?projectid       = pack.ProjectItemId;
                    ProjectItem project = db.Projects.Where(p => p.ProjectItemId.Equals(projectid)).First();
                    if (project != null)
                    {
                        pack.ProjectItem = project;
                        db.PackagesReceived.Add(pack);
                    }
                });
                packages.PackageReceivedList.ForEach(pack =>
                {
                    int?userid = pack.UserId;
                    User user  = db.Users.Where(u => u.UserId.Equals(userid)).First();
                    if (user != null)
                    {
                        pack.User = user;
                        db.PackagesReceived.Add(pack);
                    }
                });
                packages.PackageReceivedList.ForEach(pack =>
                {
                    int?packageaskingid             = pack.PackageItemAskingId;
                    PackageItemAsking packageasking = db.PackagesAsking.Where(p => p.PackageItemAskingId.Equals(packageaskingid)).First();
                    if (packageasking != null)
                    {
                        pack.PackageItemAsking = packageasking;
                        db.PackagesReceived.Add(pack);
                    }
                });
                db.SaveChanges();
            }
            return("data transfered");
        }
コード例 #4
0
        public static List <PackageItemAsking> LoadFromXlPackages(string pathPackages) // SHEET PACKAGES
        {
            List <PackageItemAsking> Packages = new List <PackageItemAsking>();
            XSSFWorkbook             hssfwb;

            using (FileStream file = new FileStream(@"C:\Users\User-SL\Documents\Training\demodataForCrowdo.xlsx",
                                                    FileMode.Open,
                                                    FileAccess.Read))
            {
                hssfwb = new XSSFWorkbook(file);
            }
            ISheet sheet = hssfwb.GetSheet("Packages");

            for (int row = 1; row <= sheet.LastRowNum; row++)
            {
                if (sheet.GetRow(row) != null)
                {
                    PackageDTO packagedto = new PackageDTO
                    {
                        PackageCode = sheet.GetRow(row).GetCell(0).StringCellValue,
                        Title       = sheet.GetRow(row).GetCell(1).StringCellValue,
                        Cost        = sheet.GetRow(row).GetCell(2).NumericCellValue,
                        Details     = sheet.GetRow(row).GetCell(3).StringCellValue,
                        Rewards     = sheet.GetRow(row).GetCell(4).StringCellValue
                    };
                    PackageItemAsking packageItem = new PackageItemAsking();
                    packageItem = Converter.ConvertPackageFromDto(packagedto);
                    Packages.Add(packageItem);
                }
            }
            using (StreamWriter file = File.CreateText(pathPackages))
            {
                JsonSerializer serializer = new JsonSerializer();
                //serialize object directly into file stream
                serializer.Serialize(file, Packages);
            }
            return(Packages);
            ////////PANTA TRY CATCH SE OLES TIS ME8ODOUS
        }