/// <summary>
        /// Adds a project by current user username to the Db. Adds a default empty index file to the Db.
        /// Adds current user as owner of the new project to the Db.
        /// </summary>
        /// <param name="model">'CreateProjectViewModel'</param>
        /// <param name="ownerName">Owner Name</param>
        public void addProject(CreateProjectViewModel model, string ownerName)
        {
            Project newProject = new Project();

            newProject._projectName       = model._projectName;
            newProject._projectFileTypeId = model._projectTypeId;

            _db._projects.Add(newProject);
            _db.SaveChanges();

            string extension    = _db._fileTypes.Where(x => x.ID == model._projectTypeId).SingleOrDefault()._extension;
            string aceExtension = _db._fileTypes.Where(x => x.ID == model._projectTypeId).SingleOrDefault()._aceExtension;
            string defaultData  = _db._fileTypes.Where(x => x.ID == model._projectTypeId).SingleOrDefault()._initialCode;

            ProjectFile defaultFile = new ProjectFile();

            defaultFile._projectFileName = "index" + "." + extension;
            defaultFile._projectFileType = "." + extension;
            defaultFile._aceExtension    = aceExtension;
            defaultFile._projectFileData = defaultData;
            defaultFile._projectID       = _db._projects.OrderByDescending(p => p.ID)
                                           .Select(p => p.ID).FirstOrDefault();

            _db._projectFiles.Add(defaultFile);
            _db.SaveChanges();

            ProjectOwner owner = new ProjectOwner();

            owner._projectID = defaultFile._projectID;
            owner._userName  = ownerName;

            _db._projectOwners.Add(owner);
            _db.SaveChanges();
        }
Beispiel #2
0
        public string teacherSync_project(string person_id, int type_person)
        {
            ResponseProjectList r = new ResponseProjectList();
            ProjectOwner        p = new ProjectOwner();

            if (type_person == 0)
            {
                r.code = 11;
                r.msg  = "Parameter Wrong";
            }
            else
            {
                string        constr = WebConfigurationManager.ConnectionStrings["Dbconnection"].ConnectionString;
                SqlConnection con    = new SqlConnection(constr);
                con.Open();

                string sqlRequest = "SELECT * FROM Relation WHERE PersID = '" + person_id + "' AND Status_ID = '1' OR Status_ID = '2'";

                SqlCommand    qrRequest = new SqlCommand(sqlRequest, con);
                SqlDataReader reader    = qrRequest.ExecuteReader();
                r.projectlist = new List <ProjectOwner>();
                while (reader.Read())
                {
                    p = new ProjectOwner();

                    p.project = getNameProject(reader["ProjID"].ToString());
                    r.projectlist.Add(p);
                }
                reader.Close();
                con.Close();
            }
            return(JsonConvert.SerializeObject(r));
        }
        /// <summary>
        /// Delete project. Delete all files included in the project, all members and the owner.
        /// </summary>
        /// <param name="model">'ProjectViewModel'</param>
        public void deleteProject(ProjectViewModel model)
        {
            // Delete all files in the project.
            foreach (ProjectFileViewModel item in model._projectFiles)
            {
                _projectFileService.deleteProjectFile(item._id);
            }

            // Delete all members from the project.
            foreach (ProjectMemberViewModel item in model._projectMembers)
            {
                _userService.deleteProjectMember(item._projectID);
            }

            // Delete the owner of the project.
            ProjectOwner ownerInProject = (from owner in _db._projectOwners
                                           where owner._projectID == model._id
                                           select owner).FirstOrDefault();

            // Delete the project.
            Project projectToDel = (from del in _db._projects
                                    where del.ID == model._id
                                    select del).FirstOrDefault();

            _db._projects.Remove(projectToDel);
            _db._projectOwners.Remove(ownerInProject);
            _db.SaveChanges();
        }
Beispiel #4
0
        //Creates a project with User withc specific username as owner. Returns false if fails, otherwise true
        public bool CreateProject(CreateProjectViewModel NewCreateProject, string Username)
        {
            if (NewCreateProject == null || Username == "")
            {
                return(false);
            }
            var ProjectWithSameName = DB.Projects.Where(x => x.Owner.Username == Username &&
                                                        x.Name == NewCreateProject.Name).FirstOrDefault();

            if (ProjectWithSameName != null) //If user has created a project with same name nothing is created and function returns false
            {
                return(false);
            }

            UserInfo Owner      = DB.UsersInfo.Where(x => x.Username == Username).SingleOrDefault(); //User that is creating project
            Project  NewProject = new Project();                                                     //The project that is being made, gets values from viewmodel

            NewProject.Name         = NewCreateProject.Name;
            NewProject.Type         = NewCreateProject.Type;
            NewProject.Owner        = Owner;
            NewProject.ReadMe       = FService.CreateReadMe(NewCreateProject.ReadMe); //New ReadMe created
            NewProject.DateCreated  = DateTime.Now;
            NewProject.DateModified = DateTime.Now;

            //If project is a web application more default files are made
            if (NewProject.Type == "Web Application")
            {
                var           Files        = FService.CreateWebApplication(); //Gets a list of extra files
                FileInProject FIProjectCSS = new FileInProject();             //connection between file and project is made
                FIProjectCSS.FileProject = NewProject;
                FIProjectCSS.ProjectFile = Files[0];                          //css file

                FileInProject FIProjectJS = new FileInProject();              //connection between file and project is made
                FIProjectJS.FileProject = NewProject;
                FIProjectJS.ProjectFile = Files[1];                           //js file

                DB.FilesInProjects.Add(FIProjectCSS);                         //added to database
                DB.FilesInProjects.Add(FIProjectJS);
            }

            DB.Projects.Add(NewProject); //Project added to database
            DB.SaveChanges();

            //Connection between user creating and project is made
            ProjectOwner POwner = new ProjectOwner();

            POwner.Owner        = Owner;
            POwner.OwnerProject = NewProject;
            //Connection between default file and project is made
            FileInProject FIProject = new FileInProject();

            FIProject.FileProject = NewProject;
            FIProject.ProjectFile = FService.CreateDefaultFile(NewProject.Type); //default file is made

            DB.ProjectOwners.Add(POwner);                                        //connections added to database
            DB.FilesInProjects.Add(FIProject);
            DB.SaveChanges();                                                    //changes saved and function returns true
            return(true);
        }
Beispiel #5
0
 public void deleteOwner(ProjectOwner owner)
 {
     if (owner != null)
     {
         context.Entry(owner).State = EntityState.Deleted;
         context.SaveChanges();
     }
 }
Beispiel #6
0
        /// <summary>
        /// Checks if username is owner of project by username and project ID, returns a bool value if true or not.
        /// </summary>
        /// <param name="username">Username</param>
        /// <param name="projectID">Project ID</param>
        /// <returns>bool</returns>
        public bool isProjectOwner(string username, int projectID)
        {
            ProjectOwner ownerInProject = (from owned in _db._projectOwners
                                           where owned._userName == username && owned._projectID == projectID
                                           select owned).FirstOrDefault();

            return(ownerInProject != null);
        }
Beispiel #7
0
        public void AddOwner(Guid userId, int projectId)
        {
            var projectOwn = new ProjectOwner
            {
                UserId    = userId,
                ProjectId = projectId
            };

            _context.ProjectOwners.Add(projectOwn);
            _context.SaveChanges();
        }
Beispiel #8
0
        public IActionResult UpdateProject(long pId, string projectJson)
        {
            Tuple <Project, IList <User> > newProjTup = ProjectFromJson(projectJson);

            if (newProjTup == null)
            {
                return(BadRequest());
            }
            Project newProj = newProjTup.Item1;

            using (var context = new TodoContext()) {
                Project oldProj = context.Projects.Find(pId);
                if (oldProj == null)
                {
                    return(NotFound());
                }
                var entry = context.Entry(oldProj);
                context.EnsureDeepLoaded(entry);
                foreach (var file in oldProj.Files)
                {
                    context.FileRefs.Remove(file);
                }
                oldProj.Files.Clear();

                foreach (var projOwner in oldProj.OwnerUsers)
                {
                    projOwner.Unjoin(context);
                }

                oldProj.Name        = newProj.Name;
                oldProj.Description = newProj.Description;
                if (newProj.ValidStatuses != null)
                {
                    oldProj.ValidStatuses = context.StatusSets.Find(newProj.ValidStatuses.Id);
                }
                else
                {
                    oldProj.ValidStatuses = null;
                }
                foreach (var newOwner in newProjTup.Item2)
                {
                    ProjectOwner.Join(context, oldProj, newOwner);
                }
                oldProj.Tags = newProj.Tags;
                foreach (var file in newProj.Files)
                {
                    context.FileRefs.Add(file);
                    newProj.Files.Add(file);
                }
                context.SaveChanges();
                return(NoContent());
            }
        }
Beispiel #9
0
        /// <summary>
        /// Gets owner of project by project ID, if project ID is not valid return null.
        /// </summary>
        /// <param name="projectID">Project ID</param>
        /// <returns>String</returns>
        public string getOwnerName(int projectID)
        {
            ProjectOwner ownerInProject = (from owned in _db._projectOwners
                                           where owned._projectID == projectID
                                           select owned).FirstOrDefault();

            if (ownerInProject == null)
            {
                return(null);
            }

            string owner = ownerInProject._userName;

            return(owner);
        }
Beispiel #10
0
        public void AddProjectOwner(ProjectOwner owner)
        {
            if (owner != null)
            {
                if (owner.Id == 0)
                {
                    context.ProjectOwners.Add(owner);
                }
                else
                {
                    context.Entry(owner).State = EntityState.Modified;
                }

                context.SaveChanges();
            }
        }
        public BaseResponse Update(ProjectOwner projectOwner)
        {
            BaseResponse baseResponse = new BaseResponse();

            try
            {
                _repository.Update(projectOwner);
                _unitOfWork.SaveChanges();
                baseResponse.SetStatus(ResponseCode.SUCCESS);
                return(baseResponse);
            }
            catch (Exception ex)
            {
                baseResponse.SetStatus(ResponseCode.FAILED_ON_DB_PROCESS, ex.Message);
                return(baseResponse);
            }
        }
Beispiel #12
0
        //Deletes a Project and every connection to it
        public void DeleteProject(int?ProjectID)
        {
            if (!ProjectID.HasValue)
            {
                throw new Exception();
            }
            //Deleting connection between owner and project to delete
            ProjectOwner POwner = DB.ProjectOwners.Where(x => x.OwnerProject.ID == ProjectID).FirstOrDefault();

            DB.ProjectOwners.Remove(POwner);

            var FileProject = DB.FilesInProjects.Where(x => x.FileProject.ID == ProjectID).ToList();

            //Looping through all connections between the project to delete and files
            foreach (var item in FileProject)
            {
                File TheFile = DB.Files.Where(x => x.ID == item.ProjectFile.ID).FirstOrDefault();
                DB.Files.Remove(TheFile);        //Deleting the file
                DB.FilesInProjects.Remove(item); //Deleting the connection
            }

            var Folders = DB.Folders.Where(x => x.ProjectStructure.ID == ProjectID);

            //Looping through all folders in project and deletes them
            foreach (var item in Folders)
            {
                DB.Folders.Remove(item);
            }

            var Shares = DB.ProjectShares.Where(x => x.ShareProject.ID == ProjectID);

            //Looping through all connection between project and shared users and deletes them
            foreach (var item in Shares)
            {
                DB.ProjectShares.Remove(item);
            }
            Project TheProject = DB.Projects.Where(x => x.ID == ProjectID).FirstOrDefault();

            DB.Files.Remove(TheProject.ReadMe); //Deletes readme file of project
            DB.Projects.Remove(TheProject);     //Finally deletes project itself

            DB.SaveChanges();                   //saves changes to database
        }
Beispiel #13
0
        public ProjectOwner OwnerDTOToEntity(ProjectOwnerDTO projectOwner)
        {
            ProjectOwner owner = new ProjectOwner();

            if (projectOwner.Id != 0)
            {
                owner.Id = projectOwner.Id;
            }

            if (projectOwner != null)
            {
                owner.Name         = projectOwner.Name;
                owner.PhoneNumber  = projectOwner.PhoneNumber;
                owner.Project_Id   = projectOwner.Project_Id;
                owner.AddressLine1 = projectOwner.AddressLine1;
                owner.AddressLine2 = projectOwner.AddressLine2;
                owner.Town         = projectOwner.Town;
                owner.County       = projectOwner.County;
                owner.PostCode     = projectOwner.PostCode;
            }

            return(owner);
        }
Beispiel #14
0
        public IActionResult CreateProject(string projectJson)
        {
            Tuple <Project, IList <User> > newProjTup = ProjectFromJson(projectJson);

            if (newProjTup == null)
            {
                return(BadRequest());
            }
            Project newProj = newProjTup.Item1;

            using (var context = new TodoContext()) {
                foreach (var file in newProj.Files)
                {
                    context.FileRefs.Add(file);
                }
                foreach (var newOwner in newProjTup.Item2)
                {
                    ProjectOwner.Join(context, newProj, newOwner);
                }
                context.ChangeTracker.TrackGraph(newProj, (node => node.Entry.State = node.Entry.IsKeySet ? EntityState.Unchanged : EntityState.Added));
                context.SaveChanges();
                return(CreatedAtRoute("GetProject", new { id = newProj.Pid }, GetDetailedModel(context, newProj)));
            }
        }
        public void Initialize()
        {
            var mockDb = new MockDataContext();

            #region User initialized.
            var u1 = new ApplicationUser
            {
                Id                   = "1",
                UserName             = "******",
                Email                = "*****@*****.**",
                PasswordHash         = "Alberta1",
                SecurityStamp        = "Alberta",
                PhoneNumber          = null,
                PhoneNumberConfirmed = false,
                TwoFactorEnabled     = false,
                LockoutEndDateUtc    = null,
                LockoutEnabled       = true,
                AccessFailedCount    = 0,
            };
            mockDb.Users.Add(u1);
            #endregion

            #region Projects initialized.
            var pro1 = new Project
            {
                ID = 1,
                _projectFileTypeId = 1,
                _projectName       = "pro1"
            };
            mockDb._projects.Add(pro1);

            var pro2 = new Project
            {
                ID = 2,
                _projectFileTypeId = 2,
                _projectName       = "pro2"
            };
            mockDb._projects.Add(pro2);
            #endregion

            #region Project owners initialized.
            var p1 = new ProjectOwner
            {
                ID         = 1,
                _projectID = 1,
                _userName  = "******"
            };
            mockDb._projectOwners.Add(p1);

            var p2 = new ProjectOwner
            {
                ID         = 2,
                _projectID = 2,
                _userName  = "******"
            };
            mockDb._projectOwners.Add(p2);

            var p3 = new ProjectOwner
            {
                ID         = 3,
                _projectID = 3,
                _userName  = "******"
            };
            mockDb._projectOwners.Add(p3);

            var p4 = new ProjectOwner
            {
                ID         = 4,
                _projectID = 4,
                _userName  = "******"
            };
            mockDb._projectOwners.Add(p4);

            var p5 = new ProjectOwner
            {
                ID         = 5,
                _projectID = 3,
                _userName  = "******"
            };
            mockDb._projectOwners.Add(p5);

            var p6 = new ProjectOwner
            {
                ID         = 6,
                _projectID = 1,
                _userName  = "******"
            };
            mockDb._projectOwners.Add(p6);

            var p7 = new ProjectOwner
            {
                ID         = 7,
                _projectID = 2,
                _userName  = "******"
            };
            mockDb._projectOwners.Add(p7);

            var p8 = new ProjectOwner
            {
                ID         = 8,
                _projectID = 9,
                _userName  = "******"
            };
            mockDb._projectOwners.Add(p8);

            var p9 = new ProjectOwner
            {
                ID         = 9,
                _projectID = 12,
                _userName  = "******"
            };
            mockDb._projectOwners.Add(p9);

            var p10 = new ProjectOwner
            {
                ID         = 10,
                _projectID = 23,
                _userName  = "******"
            };
            mockDb._projectOwners.Add(p10);
            #endregion

            #region Project members initialized.
            var m1 = new ProjectMember
            {
                ID         = 1,
                _projectID = 23,
                _userName  = "******"
            };
            mockDb._projectMembers.Add(m1);

            var m2 = new ProjectMember
            {
                ID         = 2,
                _projectID = 2,
                _userName  = "******"
            };
            mockDb._projectMembers.Add(m2);

            var m3 = new ProjectMember
            {
                ID         = 3,
                _projectID = 55,
                _userName  = "******"
            };
            mockDb._projectMembers.Add(m3);

            var m4 = new ProjectMember
            {
                ID         = 4,
                _projectID = 27,
                _userName  = "******"
            };
            mockDb._projectMembers.Add(m4);

            var m5 = new ProjectMember
            {
                ID         = 10,
                _projectID = 23,
                _userName  = "******"
            };
            mockDb._projectMembers.Add(m5);

            var m6 = new ProjectMember
            {
                ID         = 6,
                _projectID = 16,
                _userName  = "******"
            };
            mockDb._projectMembers.Add(m6);

            var m7 = new ProjectMember
            {
                ID         = 7,
                _projectID = 99,
                _userName  = "******"
            };
            mockDb._projectMembers.Add(m7);

            var m8 = new ProjectMember
            {
                ID         = 8,
                _projectID = 255,
                _userName  = "******"
            };
            mockDb._projectMembers.Add(m8);

            var m9 = new ProjectMember
            {
                ID         = 9,
                _projectID = 4,
                _userName  = "******"
            };
            mockDb._projectMembers.Add(m9);

            var m10 = new ProjectMember
            {
                ID         = 10,
                _projectID = 87,
                _userName  = "******"
            };
            mockDb._projectMembers.Add(m10);

            var m11 = new ProjectMember
            {
                ID         = 11,
                _projectID = 87,
                _userName  = "******"
            };
            mockDb._projectMembers.Add(m11);
            #endregion

            _userService = new UserService(mockDb);
        }
Beispiel #16
0
        public void Initialize()
        {
            var MockDb = new MockDatabase();

            var F1 = new File
            {
                ID       = 1,
                Name     = "File1",
                Location = "WOW"
            };

            MockDb.Files.Add(F1);

            var U1 = new UserInfo
            {
                ID       = 1,
                Username = "******"
            };

            MockDb.UsersInfo.Add(U1);

            var U2 = new UserInfo
            {
                ID       = 2,
                Username = "******"
            };

            MockDb.UsersInfo.Add(U2);

            var P1 = new Project
            {
                ID     = 1,
                Name   = "Project1",
                ReadMe = F1,
                Type   = "C#",
                Owner  = U1
            };

            MockDb.Projects.Add(P1);

            var PO1 = new ProjectOwner
            {
                ID           = 1,
                Owner        = U1,
                OwnerProject = P1
            };

            MockDb.ProjectOwners.Add(PO1);

            var P2 = new Project
            {
                ID    = 2,
                Name  = "Project2",
                Owner = U1
            };

            MockDb.Projects.Add(P2);

            var PO2 = new ProjectOwner
            {
                ID           = 2,
                Owner        = U1,
                OwnerProject = P2
            };

            MockDb.ProjectOwners.Add(PO2);

            var P3 = new Project
            {
                ID    = 3,
                Name  = "Project3",
                Owner = U1
            };

            MockDb.Projects.Add(P3);

            var PO3 = new ProjectOwner
            {
                ID           = 3,
                Owner        = U1,
                OwnerProject = P3
            };

            MockDb.ProjectOwners.Add(PO3);

            var PVM = new ProjectsViewModel()
            {
                ID = 1,
            };

            Service = new ProjectService(MockDb);
        }
Beispiel #17
0
        private string GenerateSpreadsheetforGroupedWorksheet(long ScopeId, HttpContext context)
        {
            String        result          = String.Empty;
            ScopeServices objScopeService = new ScopeServices();

            objScopeService.SQLConnection = ConnectDb.SQLConnection;
            ManagementService objManagementService = new ManagementService();

            objManagementService.SQLConnection = ConnectDb.SQLConnection;

            Scope        objScope   = objScopeService.GetScopeByScopeId(ScopeId);
            Project      objProject = objManagementService.GetProjectByProjectId(objScope.ProjectId);
            DataSet      dsQuery    = new DataSet();
            int          intFootTotalStartRow;
            int          intFootTotalStartColum;
            int          intCompanyInfoStartRow;
            int          intCompanyInfoStartColum;
            String       strExcelFile;
            String       strNewExcelFileName;
            DataSet      dsProjectGroup     = new DataSet();
            String       strClaimNo         = "";
            String       strClaimant        = "";
            String       strSiteLocation    = "";
            String       strEQRSupervisor   = "";
            String       strContractorEmail = "";
            String       strScopeDate       = "";
            String       strContractor      = "";
            String       strAddress         = "";
            String       strAccreditationNo = "";
            String       strContractorPhone = "";
            String       strGSTNo           = "";
            String       strTotalPrice      = "";
            DataSet      dsProject          = new DataSet();
            ProjectOwner projectOwner       = new ProjectOwner();
            String       strLogo            = "";

            dsProjectGroup = objScopeService.GetProjectGroupsByProjectOwnerId(objProject.ProjectOwnerId);
            dsProject      = objManagementService.GetProjectInfoByProjectId(objScope.ProjectId);

            //get project group email
            if (dsProjectGroup.Tables.Count > 0)
            {
                if (dsProjectGroup.Tables[0].Rows.Count > 0)
                {
                    if (!Convert.IsDBNull(dsProjectGroup.Tables[0].Rows[0]["Email"]))
                    {
                        strContractorEmail = dsProjectGroup.Tables[0].Rows[0]["Email"].ToString();
                    }
                }
            }
            //get claimant detail
            if (!Convert.IsDBNull(dsProject.Tables[0].Rows[0]["EQCClaimNumber"]))
            {
                strClaimNo = dsProject.Tables[0].Rows[0]["EQCClaimNumber"].ToString();
            }
            if (!Convert.IsDBNull(dsProject.Tables[0].Rows[0]["ScopeDate"]))
            {
                strScopeDate = dsProject.Tables[0].Rows[0]["ScopeDate"].ToString();
            }
            if (!Convert.IsDBNull(dsProject.Tables[0].Rows[0]["ScopeDate"]))
            {
                strScopeDate = Convert.ToDateTime(dsProject.Tables[0].Rows[0]["ScopeDate"]).ToString("dd/MM/yyyy");
            }

            if (!Convert.IsDBNull(dsProject.Tables[0].Rows[0]["Address"]))
            {
                strSiteLocation = dsProject.Tables[0].Rows[0]["Address"].ToString();
            }

            if (!Convert.IsDBNull(dsProject.Tables[0].Rows[0]["ContactName"]))
            {
                strClaimant = dsProject.Tables[0].Rows[0]["ContactName"].ToString();
            }

            //get project owner detail
            projectOwner       = objManagementService.GetProjectOwnerByProjectOwnerId(objProject.ProjectOwnerId);
            strEQRSupervisor   = projectOwner.EQRSupervisor;
            strContractor      = projectOwner.Name;
            strContractorPhone = projectOwner.Contact1;
            strAddress         = projectOwner.Address;
            strGSTNo           = projectOwner.GSTNumber;
            strAccreditationNo = projectOwner.AccreditationNumber;
            String ApprovedexcludeGstCost = objScope.Cost.ToString("c");
            String ApprovedGSTCost        = (objScope.Total - objScope.Cost).ToString("c");
            String ApprovedInGSTCost      = objScope.Total.ToString("c");

            String GrandExGSTCost = (objScope.Cost1 + objScope.Cost).ToString("c");
            String GrandInGSTCost = (objScope.Total1 + objScope.Total).ToString("c");

            strTotalPrice = ApprovedInGSTCost;

            //Company Logo
            strLogo = String.Format("{0}/Images/{1}/{2}", "http://koreprojects.com", projectOwner.Identifier, projectOwner.Logo);

            strNewExcelFileName = String.Empty;

            String strExcelFileNameTemp = Strings.StrConv(strSiteLocation, VbStrConv.ProperCase);
            int    ascChar;

            for (int index = 0; index < strExcelFileNameTemp.Length - 1; index++)
            {
                ascChar = Strings.Asc(strExcelFileNameTemp[index]);
                if ((ascChar >= 65 && ascChar <= 90) || (ascChar >= 97 && ascChar <= 122) || (ascChar >= 48 && ascChar <= 57))
                {
                    strNewExcelFileName = strNewExcelFileName + strExcelFileNameTemp[index];
                }
                else
                {
                    strNewExcelFileName = strNewExcelFileName + "-";
                }
            }
            do
            {
                strNewExcelFileName = Strings.Replace(strNewExcelFileName, "--", "-");
            } while (strNewExcelFileName.Contains("--"));
            if (strNewExcelFileName.Substring(0, 1) == "-")
            {
                strNewExcelFileName = strNewExcelFileName.Substring(1);
            }
            if (strNewExcelFileName.Substring(strNewExcelFileName.Length - 1) == "-")
            {
                strNewExcelFileName = strNewExcelFileName.Substring(0, strNewExcelFileName.Length - 1);
            }
            if (strNewExcelFileName.Length > 20)
            {
                strNewExcelFileName = strNewExcelFileName.Substring(0, 20);
            }
            strExcelFile = String.Format("../Downloads/{0}/{1}.xls", "ExcelExport", strNewExcelFileName);

            if ((!System.IO.Directory.Exists(String.Format("../Downloads/{0}", "ExcelExport"))))
            {
                System.IO.Directory.CreateDirectory(String.Format("../Downloads/{0}", "ExcelExport"));
            }

            WorkSheet workSheet = new WorkSheet();

            //initialzing the cellexport tool
            cellExport = new Spire.DataExport.XLS.CellExport();
            cellExport.ActionAfterExport = Spire.DataExport.Common.ActionType.OpenView;
            //culture format setting
            cellExport.DataFormats.CultureName = "en-NZ";
            cellExport.DataFormats.Currency    = "#,###,##0.00";
            cellExport.DataFormats.DateTime    = "dd/MM/yyyy H:mm";
            cellExport.DataFormats.Float       = "#,###,##0.00";
            cellExport.DataFormats.Integer     = "#,###,##0";
            cellExport.DataFormats.Time        = "H:mm";
            //set up file name and location
            cellExport.FileName = strExcelFile;

            //outlook formating
            cellExport.SheetOptions.AggregateFormat.Font.Name         = "Arial";
            cellExport.SheetOptions.CustomDataFormat.Font.Name        = "Arial";
            cellExport.SheetOptions.DefaultFont.Name                  = "Arial";
            cellExport.SheetOptions.FooterFormat.Font.Name            = "Arial";
            cellExport.SheetOptions.HeaderFormat.Font.Name            = "Arial";
            cellExport.SheetOptions.HyperlinkFormat.Font.Color        = Spire.DataExport.XLS.CellColor.Blue;
            cellExport.SheetOptions.HyperlinkFormat.Font.Name         = "Arial";
            cellExport.SheetOptions.HyperlinkFormat.Font.Underline    = Spire.DataExport.XLS.XlsFontUnderline.Single;
            cellExport.SheetOptions.NoteFormat.Alignment.Horizontal   = Spire.DataExport.XLS.HorizontalAlignment.Left;
            cellExport.SheetOptions.NoteFormat.Alignment.Vertical     = Spire.DataExport.XLS.VerticalAlignment.Top;
            cellExport.SheetOptions.NoteFormat.Font.Bold              = true;
            cellExport.SheetOptions.NoteFormat.Font.Name              = "Tahoma";
            cellExport.SheetOptions.NoteFormat.Font.Size              = 8.0F;
            cellExport.SheetOptions.TitlesFormat.FillStyle.Background = Spire.DataExport.XLS.CellColor.Gray40Percent;
            cellExport.SheetOptions.TitlesFormat.Font.Bold            = true;
            cellExport.SheetOptions.TitlesFormat.Font.Name            = "Arial";

            //worksheet culture format
            workSheet.FormatsExport.CultureName = "en-NZ";
            workSheet.FormatsExport.Currency    = "#,###,##0.00";
            workSheet.FormatsExport.DateTime    = "dd/MM/yyyy H:mm";
            workSheet.FormatsExport.Float       = "#,###,##0.00";
            workSheet.FormatsExport.Integer     = "#,###,##0";
            workSheet.FormatsExport.Time        = "H:mm";

            //worksheet outlook format;
            workSheet.Options.AggregateFormat.Font.Name       = "Arial";
            workSheet.Options.CustomDataFormat.Font.Name      = "Arial";
            workSheet.Options.DefaultFont.Name                = "Arial";
            workSheet.Options.FooterFormat.Font.Name          = "Arial";
            workSheet.Options.HeaderFormat.Font.Name          = "Arial";
            workSheet.Options.HyperlinkFormat.Font.Color      = Spire.DataExport.XLS.CellColor.Blue;
            workSheet.Options.HyperlinkFormat.Font.Name       = "Arial";
            workSheet.Options.HyperlinkFormat.Font.Underline  = Spire.DataExport.XLS.XlsFontUnderline.Single;
            workSheet.Options.NoteFormat.Alignment.Horizontal = Spire.DataExport.XLS.HorizontalAlignment.Left;
            workSheet.Options.NoteFormat.Alignment.Vertical   = Spire.DataExport.XLS.VerticalAlignment.Top;
            workSheet.Options.NoteFormat.Font.Bold            = true;
            workSheet.Options.NoteFormat.Font.Name            = "Tahoma";
            workSheet.Options.NoteFormat.Font.Size            = 8.0F;

            workSheet.Options.TitlesFormat.Font.Bold = true;
            workSheet.Options.TitlesFormat.Font.Name = "Arial";

            workSheet.Options.CustomDataFormat.Borders.Bottom.Color = Spire.DataExport.XLS.CellColor.Blue;
            workSheet.Options.CustomDataFormat.Borders.Left.Color   = Spire.DataExport.XLS.CellColor.Blue;
            workSheet.Options.CustomDataFormat.Borders.Right.Color  = Spire.DataExport.XLS.CellColor.Blue;
            workSheet.Options.CustomDataFormat.Borders.Top.Color    = Spire.DataExport.XLS.CellColor.Blue;
            workSheet.SheetName       = "Worksheet";
            workSheet.AutoFitColWidth = true;

            StripStyle stripStyle1 = new Spire.DataExport.XLS.StripStyle();

            Cell mcell = new Spire.DataExport.XLS.Cell();

            mcell.Column = 1;
            mcell.Row    = 2;
            if (dsProjectGroup.Tables.Count > 0)
            {
                if (dsProjectGroup.Tables[0].Rows.Count > 0)
                {
                    mcell.Value = String.Format("{0} - Contractor's Quote", dsProjectGroup.Tables[0].Rows[0]["Name"]);
                }
                else
                {
                    mcell.Value = String.Format("Contractor's Quote");
                }
            }
            else
            {
                mcell.Value = String.Format("Contractor's Quote");
            }
            mcell.CellType       = Spire.DataExport.XLS.CellType.String;
            workSheet.HeaderRows = 15;
            workSheet.Cells.Add(mcell);

            intCompanyInfoStartRow   = 8;
            intCompanyInfoStartColum = 1;

            CellPicture pic1 = new Spire.DataExport.XLS.CellPicture();

            pic1.FileName = strLogo; //need to find out where the logo is
            pic1.Name     = "Logo";

            cellExport.Pictures.Add(pic1);

            CellImage img1 = new Spire.DataExport.XLS.CellImage();

            img1.Column      = 3;
            img1.PictureName = "Logo";
            img1.Row         = 1;
            workSheet.Images.Add(img1);

            Cell mcell1 = new Spire.DataExport.XLS.Cell();

            mcell1.Column   = intCompanyInfoStartColum;
            mcell1.Row      = intCompanyInfoStartRow;
            mcell1.Value    = "Claim No:";
            mcell1.CellType = CellType.String;
            workSheet.Cells.Add(mcell1);


            Cell mcell2 = new Spire.DataExport.XLS.Cell();

            mcell2.Column   = intCompanyInfoStartColum;
            mcell2.Row      = intCompanyInfoStartRow + 1;
            mcell2.Value    = "Claimant:";
            mcell2.CellType = CellType.String;
            workSheet.Cells.Add(mcell2);


            Cell mcell3 = new Spire.DataExport.XLS.Cell();

            mcell3.Column   = intCompanyInfoStartColum;
            mcell3.Row      = intCompanyInfoStartRow + 2;
            mcell3.Value    = "Site Location:";
            mcell3.CellType = CellType.String;
            workSheet.Cells.Add(mcell3);


            Cell mcell4 = new Spire.DataExport.XLS.Cell();

            mcell4.Column   = intCompanyInfoStartColum;
            mcell4.Row      = intCompanyInfoStartRow + 3;
            mcell4.Value    = "EQR Supervisor:";
            mcell4.CellType = CellType.String;
            workSheet.Cells.Add(mcell4);


            Cell mcell5 = new Spire.DataExport.XLS.Cell();

            mcell5.Column   = intCompanyInfoStartColum;
            mcell5.Row      = intCompanyInfoStartRow + 4;
            mcell5.Value    = "Contractor E-mail:";
            mcell5.CellType = CellType.String;
            workSheet.Cells.Add(mcell5);


            Cell mcell6 = new Spire.DataExport.XLS.Cell();

            mcell6.Column   = intCompanyInfoStartColum;
            mcell6.Row      = intCompanyInfoStartRow + 5;
            mcell6.Value    = "Date:";
            mcell6.CellType = CellType.String;
            workSheet.Cells.Add(mcell6);

            //'add contact detail head field contet
            //'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
            Cell mcell1_2 = new Spire.DataExport.XLS.Cell();

            mcell1_2.Column   = intCompanyInfoStartColum + 1;
            mcell1_2.Row      = intCompanyInfoStartRow;
            mcell1_2.Value    = strClaimNo;
            mcell1_2.CellType = CellType.String;
            workSheet.Cells.Add(mcell1_2);

            Cell mcell2_2 = new Spire.DataExport.XLS.Cell();

            mcell2_2.Column   = intCompanyInfoStartColum + 1;
            mcell2_2.Row      = intCompanyInfoStartRow + 1;
            mcell2_2.Value    = strClaimant;
            mcell2_2.CellType = CellType.String;
            workSheet.Cells.Add(mcell2_2);


            Cell mcell3_2 = new Spire.DataExport.XLS.Cell();

            mcell3_2.Column   = intCompanyInfoStartColum + 1;
            mcell3_2.Row      = intCompanyInfoStartRow + 2;
            mcell3_2.Value    = strSiteLocation;
            mcell3_2.CellType = CellType.String;
            workSheet.Cells.Add(mcell3_2);


            Cell mcell4_2 = new Spire.DataExport.XLS.Cell();

            mcell4_2.Column   = intCompanyInfoStartColum + 1;
            mcell4_2.Row      = intCompanyInfoStartRow + 3;
            mcell4_2.Value    = strEQRSupervisor;
            mcell4_2.CellType = CellType.String;
            workSheet.Cells.Add(mcell4_2);


            Cell mcell5_2 = new Spire.DataExport.XLS.Cell();

            mcell5_2.Column   = intCompanyInfoStartColum + 1;
            mcell5_2.Row      = intCompanyInfoStartRow + 4;
            mcell5_2.Value    = strContractorEmail;
            mcell5_2.CellType = CellType.String;
            workSheet.Cells.Add(mcell5_2);


            Cell mcell6_2 = new Spire.DataExport.XLS.Cell();

            mcell6_2.Column = intCompanyInfoStartColum + 1;
            mcell6_2.Row    = intCompanyInfoStartRow + 5;
            // 'mcell6_2.Value = IIf(strScopeDate.Trim() = String.Empty, Today.ToString("dd/MM/yyyy"), strScopeDate)
            mcell6_2.Value    = DateTime.Now.ToString("dd/MM/yyyy");
            mcell6_2.CellType = CellType.String;
            workSheet.Cells.Add(mcell6_2);

            //'second part of heading
            //''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
            Cell mcell1_3 = new Spire.DataExport.XLS.Cell();

            mcell1_3.Column   = intCompanyInfoStartColum + 2;
            mcell1_3.Row      = intCompanyInfoStartRow;
            mcell1_3.Value    = "Contractor:";
            mcell1_3.CellType = CellType.String;

            workSheet.Cells.Add(mcell1_3);


            Cell mcell2_3 = new Spire.DataExport.XLS.Cell();

            mcell2_3.Column   = intCompanyInfoStartColum + 2;
            mcell2_3.Row      = intCompanyInfoStartRow + 1;
            mcell2_3.Value    = "Address:";
            mcell2_3.CellType = CellType.String;
            workSheet.Cells.Add(mcell2_3);


            Cell mcell3_3 = new Spire.DataExport.XLS.Cell();

            mcell3_3.Column   = intCompanyInfoStartColum + 2;
            mcell3_3.Row      = intCompanyInfoStartRow + 2;
            mcell3_3.Value    = "Accreditation No:";
            mcell3_3.CellType = CellType.String;
            workSheet.Cells.Add(mcell3_3);


            Cell mcell4_3 = new Spire.DataExport.XLS.Cell();

            mcell4_3.Column   = intCompanyInfoStartColum + 2;
            mcell4_3.Row      = intCompanyInfoStartRow + 3;
            mcell4_3.Value    = "Contractor Phone:";
            mcell4_3.CellType = CellType.String;
            workSheet.Cells.Add(mcell4_3);

            Cell mcell5_3 = new Spire.DataExport.XLS.Cell();

            mcell5_3.Column   = intCompanyInfoStartColum + 2;
            mcell5_3.Row      = intCompanyInfoStartRow + 4;
            mcell5_3.Value    = "GST No:";
            mcell5_3.CellType = CellType.String;
            workSheet.Cells.Add(mcell5_3);


            Cell mcell6_3 = new Spire.DataExport.XLS.Cell();

            mcell6_3.Column   = intCompanyInfoStartColum + 2;
            mcell6_3.Row      = intCompanyInfoStartRow + 5;
            mcell6_3.Value    = "Total Price (incl. GST):";
            mcell6_3.CellType = CellType.String;
            workSheet.Cells.Add(mcell6_3);

            //'second part of heading
            // '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
            Cell mcell1_4 = new Spire.DataExport.XLS.Cell();

            mcell1_4.Column   = intCompanyInfoStartColum + 3;
            mcell1_4.Row      = intCompanyInfoStartRow;
            mcell1_4.Value    = strContractor;
            mcell1_4.CellType = CellType.String;
            workSheet.Cells.Add(mcell1_4);


            Cell mcell2_4 = new Spire.DataExport.XLS.Cell();

            mcell2_4.Column   = intCompanyInfoStartColum + 3;
            mcell2_4.Row      = intCompanyInfoStartRow + 1;
            mcell2_4.Value    = strAddress;
            mcell2_4.CellType = CellType.String;
            workSheet.Cells.Add(mcell2_4);


            Cell mcell3_4 = new Spire.DataExport.XLS.Cell();

            mcell3_4.Column   = intCompanyInfoStartColum + 3;
            mcell3_4.Row      = intCompanyInfoStartRow + 2;
            mcell3_4.Value    = strAccreditationNo;
            mcell3_4.CellType = CellType.String;
            workSheet.Cells.Add(mcell3_4);

            Cell mcell4_4 = new Spire.DataExport.XLS.Cell();

            mcell4_4.Column   = intCompanyInfoStartColum + 3;
            mcell4_4.Row      = intCompanyInfoStartRow + 3;
            mcell4_4.Value    = strContractorPhone;
            mcell4_4.CellType = CellType.String;
            workSheet.Cells.Add(mcell4_4);

            Cell mcell5_4 = new Spire.DataExport.XLS.Cell();

            mcell5_4.Column   = intCompanyInfoStartColum + 3;
            mcell5_4.Row      = intCompanyInfoStartRow + 4;
            mcell5_4.Value    = strGSTNo;
            mcell5_4.CellType = CellType.String;
            workSheet.Cells.Add(mcell5_4);

            Cell mcell6_4 = new Spire.DataExport.XLS.Cell();

            mcell6_4.Column   = intCompanyInfoStartColum + 3;
            mcell6_4.Row      = intCompanyInfoStartRow + 5;
            mcell6_4.Value    = strTotalPrice;
            mcell6_4.CellType = CellType.String;
            workSheet.Cells.Add(mcell6_4);

            dsQuery = objScopeService.GetScopeItemsByScopeIdScopeItemStatus(ScopeId, 2);
            dsQuery.Tables[0].DefaultView.Sort = "ScopeGroup";
            //DataRowView rowView= new DataRowView();

            int intRowIndex;
            int intColumIndex;

            intRowIndex   = 15;
            intColumIndex = 0;

            String  strPrevScopeGroup        = "****";
            String  strScopeGroup            = String.Empty;
            String  strPrevArea              = "*****";
            String  strArea                  = String.Empty;
            String  strAreaMeasurement       = String.Empty;
            Boolean blnAreaMeasurementFilled = false;

            Cell dynamiccell_1;

            intRowIndex = intRowIndex + 1;
            int Range1 = intRowIndex;

            foreach (DataRowView rowView in dsQuery.Tables[0].DefaultView)
            {
                DataRow row = rowView.Row;
                strScopeGroup = String.Format("{0}", row["ScopeGroup"]);
                if (strScopeGroup != strPrevScopeGroup)
                {
                    intRowIndex            = intRowIndex + 1;
                    dynamiccell_1          = new Spire.DataExport.XLS.Cell();
                    dynamiccell_1.Column   = 1;
                    dynamiccell_1.Row      = intRowIndex;
                    dynamiccell_1.Value    = String.Format("{0}", row["ScopeGroup"]);
                    dynamiccell_1.CellType = CellType.String;
                    workSheet.Cells.Add(dynamiccell_1);

                    dynamiccell_1          = new Spire.DataExport.XLS.Cell();
                    dynamiccell_1.Column   = 2;
                    dynamiccell_1.Row      = intRowIndex;
                    dynamiccell_1.Value    = "Description of Works";
                    dynamiccell_1.CellType = Spire.DataExport.XLS.CellType.String;
                    workSheet.Cells.Add(dynamiccell_1);

                    dynamiccell_1          = new Spire.DataExport.XLS.Cell();
                    dynamiccell_1.Column   = 3;
                    dynamiccell_1.Row      = intRowIndex;
                    dynamiccell_1.Value    = "Dimension";
                    dynamiccell_1.CellType = Spire.DataExport.XLS.CellType.String;
                    workSheet.Cells.Add(dynamiccell_1);

                    dynamiccell_1          = new Spire.DataExport.XLS.Cell();
                    dynamiccell_1.Column   = 4;
                    dynamiccell_1.Row      = intRowIndex;
                    dynamiccell_1.Value    = "$ Rate";
                    dynamiccell_1.CellType = Spire.DataExport.XLS.CellType.String;
                    workSheet.Cells.Add(dynamiccell_1);

                    dynamiccell_1          = new Spire.DataExport.XLS.Cell();
                    dynamiccell_1.Column   = 5;
                    dynamiccell_1.Row      = intRowIndex;
                    dynamiccell_1.Value    = "Contractors Quote";
                    dynamiccell_1.CellType = Spire.DataExport.XLS.CellType.String;
                    workSheet.Cells.Add(dynamiccell_1);

                    intRowIndex = intRowIndex + 1;
                }
                strPrevScopeGroup = strScopeGroup;

                strArea            = String.Format("{0}", row["Area"]);
                strAreaMeasurement = String.Format("{0}", row["AreaMeasurement"]);

                dynamiccell_1        = new Spire.DataExport.XLS.Cell();
                dynamiccell_1.Column = 1;
                dynamiccell_1.Row    = intRowIndex;
                if (strArea != strPrevArea)
                {
                    dynamiccell_1.Value      = strArea;
                    blnAreaMeasurementFilled = false;
                }
                else
                if (blnAreaMeasurementFilled)
                {
                    dynamiccell_1.Value = "-";
                }
                else
                {
                    if (strAreaMeasurement.Trim() == String.Empty)
                    {
                        dynamiccell_1.Value = "-";
                    }
                    else
                    {
                        dynamiccell_1.Value = strAreaMeasurement;
                    }

                    blnAreaMeasurementFilled = true;
                }
                strPrevArea            = strArea;
                dynamiccell_1.CellType = CellType.String;
                workSheet.Cells.Add(dynamiccell_1);

                //'Note
                dynamiccell_1        = new Spire.DataExport.XLS.Cell();
                dynamiccell_1.Column = 2;
                dynamiccell_1.Row    = intRowIndex;

                if (!Convert.IsDBNull(row["Description"]))
                {
                    dynamiccell_1.Value = row["Description"];
                }
                else
                {
                    dynamiccell_1.Value = "";
                }
                if (!Convert.IsDBNull(row["Item"]))
                {
                    if (String.Format("{0}", row["Item"]).Trim() != String.Empty)
                    {
                        dynamiccell_1.Value = String.Format("{0}: {1}", row["Item"], dynamiccell_1.Value);
                    }
                }
                dynamiccell_1.CellType = Spire.DataExport.XLS.CellType.String;
                workSheet.Cells.Add(dynamiccell_1);

                //'QTY
                dynamiccell_1        = new Spire.DataExport.XLS.Cell();
                dynamiccell_1.Column = 3;
                dynamiccell_1.Row    = intRowIndex;

                if (Convert.IsDBNull(row["Quantity"]))
                {
                    dynamiccell_1.Value = Convert.ToDouble(row["Quantity"]).ToString();
                }
                else
                {
                    dynamiccell_1.Value = 0;
                }

                dynamiccell_1.CellType      = Spire.DataExport.XLS.CellType.String;
                dynamiccell_1.NumericFormat = "#,###,##0.00";
                workSheet.Cells.Add(dynamiccell_1);

                //'Rate
                dynamiccell_1        = new Spire.DataExport.XLS.Cell();
                dynamiccell_1.Column = 4;
                dynamiccell_1.Row    = intRowIndex;

                if (Convert.IsDBNull(row["Rate"]))
                {
                    dynamiccell_1.Value = Convert.ToDouble(row["Rate"]).ToString();
                }
                else
                {
                    dynamiccell_1.Value = 0;
                }

                dynamiccell_1.CellType      = Spire.DataExport.XLS.CellType.String;
                dynamiccell_1.NumericFormat = "#,###,##0.00";
                workSheet.Cells.Add(dynamiccell_1);

                //'Cost
                dynamiccell_1        = new Spire.DataExport.XLS.Cell();
                dynamiccell_1.Column = 5;
                dynamiccell_1.Row    = intRowIndex;

                if (Convert.IsDBNull(row["Cost"]))
                {
                    dynamiccell_1.Value = Convert.ToDouble(row["Cost"]).ToString("c");
                }
                else
                {
                    dynamiccell_1.Value = Convert.ToDouble(0).ToString("c");
                }

                dynamiccell_1.CellType      = Spire.DataExport.XLS.CellType.String;
                dynamiccell_1.NumericFormat = "#,###,##0.00";
                workSheet.Cells.Add(dynamiccell_1);

                intRowIndex = intRowIndex + 1;
            }
            int Range2 = intRowIndex - 1;

            intFootTotalStartRow   = intRowIndex;
            intFootTotalStartColum = 4;

            //'heading
            Cell mcell1_5 = new Spire.DataExport.XLS.Cell();

            mcell1_5.Column   = intFootTotalStartColum;
            mcell1_5.Row      = intFootTotalStartRow + 2;
            mcell1_5.Value    = "Subtotal (excl. GST)";
            mcell1_5.CellType = Spire.DataExport.XLS.CellType.String;
            workSheet.Cells.Add(mcell1_5);

            Cell mcell2_5 = new Spire.DataExport.XLS.Cell();

            mcell2_5.Column   = intFootTotalStartColum;
            mcell2_5.Row      = intFootTotalStartRow + 3;
            mcell2_5.Value    = "Add 15% GST";
            mcell2_5.CellType = Spire.DataExport.XLS.CellType.String;
            workSheet.Cells.Add(mcell2_5);

            Cell mcell3_5 = new Spire.DataExport.XLS.Cell();

            mcell3_5.Column   = intFootTotalStartColum;
            mcell3_5.Row      = intFootTotalStartRow + 4;
            mcell3_5.Value    = "Total Incl. GST";
            mcell3_5.CellType = Spire.DataExport.XLS.CellType.String;
            workSheet.Cells.Add(mcell3_5);


            Cell mcell1_7 = new Spire.DataExport.XLS.Cell();

            mcell1_7.Column   = intFootTotalStartColum + 1;
            mcell1_7.Row      = intFootTotalStartRow + 2;
            mcell1_7.Value    = ApprovedexcludeGstCost;
            mcell1_7.CellType = Spire.DataExport.XLS.CellType.String;
            workSheet.Cells.Add(mcell1_7);

            Cell mcell2_7 = new Spire.DataExport.XLS.Cell();

            mcell2_7.Column   = intFootTotalStartColum + 2;
            mcell2_7.Row      = intFootTotalStartRow + 3;
            mcell2_7.Value    = ApprovedGSTCost;
            mcell2_7.CellType = Spire.DataExport.XLS.CellType.String;
            workSheet.Cells.Add(mcell2_7);

            Cell mcell3_7 = new Spire.DataExport.XLS.Cell();

            mcell3_7.Column   = intFootTotalStartColum + 3;
            mcell3_7.Row      = intFootTotalStartRow + 4;
            mcell3_7.Value    = ApprovedInGSTCost;
            mcell3_7.CellType = Spire.DataExport.XLS.CellType.String;
            workSheet.Cells.Add(mcell3_7);


            DataTable InitialDataTable = new DataTable();

            //'connect to dataset
            workSheet.DataSource = Spire.DataExport.Common.ExportSource.DataTable;
            //'workSheet.DataTable = dsQuery.Tables(0)
            workSheet.DataTable = InitialDataTable;
            //'workSheet.SQLCommand = oleDbCommand
            workSheet.StartDataCol = Convert.ToByte(1);
            cellExport.Sheets.Add(workSheet);

            try
            {
                cellExport.SaveToHttpResponse(String.Format("{0}.xls", strNewExcelFileName), context.Response);
                result = strExcelFile;
            }
            catch (Exception)
            {
            }
            return(result);
        }
        public void Initialize()
        {
            var mockDb = new MockDataContext();

            #region Initialize projects.
            var p1 = new Project
            {
                ID                 = 1,
                _projectName       = "Project_1",
                _projectFileTypeId = 1,
            };
            mockDb._projects.Add(p1);

            var p2 = new Project
            {
                ID                 = 2,
                _projectName       = "Project_2",
                _projectFileTypeId = 2
            };
            mockDb._projects.Add(p2);

            var p3 = new Project
            {
                ID                 = 3,
                _projectName       = "Project_3",
                _projectFileTypeId = 3
            };
            mockDb._projects.Add(p3);

            var p4 = new Project
            {
                ID                 = 4,
                _projectName       = "Project_4",
                _projectFileTypeId = 4
            };
            mockDb._projects.Add(p4);

            var p5 = new ProjectFile
            {
                ID               = 1,
                _projectID       = 1,
                _projectFileName = "lab1",
                _projectFileType = "html",
                _aceExtension    = "html",
                _projectFileData = "hello"
            };
            mockDb._projectFiles.Add(p5);

            var p6 = new ProjectOwner
            {
                ID         = 1,
                _projectID = 1,
                _userName  = "******"
            };
            mockDb._projectOwners.Add(p6);

            var p7 = new ProjectFileViewModel
            {
                _id = 1,
                _projectFileData = "dada",
                _projectID       = 1,
                _projectFileName = "lab98"
            };
            mockDb._projectFileViewModel.Add(p7);

            var p8 = new ProjectViewModel
            {
                _id             = 1,
                _isProjectOwner = true,
                _projectName    = "String"
            };
            mockDb._projectViewModel.Add(p8);

            var p9 = new ApplicationUserViewModel
            {
                _applicationUserName = "******"
                                       //_applicationUserProjects ""
            };
            mockDb.UserViewModel.Add(p9);
            #endregion

            _service = new ProjectService(mockDb);
        }
Beispiel #19
0
    protected void btnSignup_Click(object sender, System.EventArgs e)
    {
        if (m_ManagementService.GetUserCountByEmail(txtUser.Text) == 0)
        {
            User signUser = new User();
            VoucherCodeFunctions cVoucherCode = new VoucherCodeFunctions();
            string strIdentifier = null;
            signUser.Email    = txtUser.Text;
            signUser.Password = txtPassword.Text;
            signUser.Type     = 2;
            long        signUserID      = m_ManagementService.CreateUser(signUser, 0);
            UserProfile signUserProfile = new UserProfile();
            signUserProfile.UserId = signUserID;
            signUserProfile.Email  = txtUser.Text;
            long userProfileId = m_ManagementService.CreateUserProfile(signUserProfile);
            signUserProfile.UserProfileId = userProfileId;
            strIdentifier = string.Format("{0}{1}", userProfileId, cVoucherCode.GenerateVoucherCodeGuid(16));
            signUserProfile.Identifier = strIdentifier;
            m_ManagementService.UpdateUserProfileIdentifier(signUserProfile);
            ProjectOwner signUserOwner = new ProjectOwner();
            signUserOwner.ContactId = signUserID;
            long intCompanyID = m_ManagementService.CreateProjectOwner(signUserOwner);
            signUserOwner.ProjectOwnerId = intCompanyID;
            strIdentifier            = string.Format("{0}{1}", cVoucherCode.GenerateVoucherCodeGuid(16), intCompanyID);
            signUserOwner.Identifier = strIdentifier;
            m_ManagementService.UpdateProjectOwnerIdentifier(signUserOwner);
            m_LoginUser = m_ManagementService.Login(txtUser.Text.Trim(), txtPassword.Text.Trim());
            if ((m_LoginUser != null))
            {
                int    numberOfProjects = 0;
                string strPromoCode     = ConfigurationManager.AppSettings["PromoCode_SignUp"].ToString();
                bool   PromoCodeValid   = false;
                PromoCodeValid = m_ManagementService.CheckPromoCodeValidByPromoCodeUserId(strPromoCode, m_LoginUser.UserId);
                if (PromoCodeValid)
                {
                    DataSet dsPlan = default(DataSet);
                    dsPlan = m_ManagementService.GetPlanByPromoCodeUserId(strPromoCode, m_LoginUser.UserId);
                    if (dsPlan.Tables.Count > 0)
                    {
                        if (dsPlan.Tables[0].Rows.Count > 0)
                        {
                            int PlanId = 0;
                            if (dsPlan.Tables[0].Rows[0]["PlanId"] != DBNull.Value)
                            {
                                PlanId = Convert.ToInt32(dsPlan.Tables[0].Rows[0]["PlanId"]);
                            }
                            if (dsPlan.Tables[0].Rows[0]["NumberOfProjects"] != DBNull.Value)
                            {
                                numberOfProjects = Convert.ToInt32(dsPlan.Tables[0].Rows[0]["NumberOfProjects"]);
                            }
                            decimal storageSize = 0;
                            if (dsPlan.Tables[0].Rows[0]["StorageSize"] != DBNull.Value)
                            {
                                storageSize = Convert.ToDecimal(dsPlan.Tables[0].Rows[0]["StorageSize"]);
                            }
                            int term = 0;
                            if (dsPlan.Tables[0].Rows[0]["Term"] != DBNull.Value)
                            {
                                term = Convert.ToInt32(dsPlan.Tables[0].Rows[0]["Term"]);
                            }
                            DateTime NextBillingDate = default(DateTime);
                            NextBillingDate = DateTime.Now.AddMonths(term);
                            m_ManagementService.UpdateUserAccountMonthly(m_LoginUser.UserId, PlanId, numberOfProjects, storageSize, NextBillingDate);
                            m_ManagementService.CreatePromotionRedeemed(strPromoCode, m_LoginUser.UserId);
                            m_ManagementService.CreateUserTransaction(m_LoginUser.UserId, string.Format("Promotion - Redeem {0}", strPromoCode), 0, 0, numberOfProjects, numberOfProjects);
                        }
                    }
                }

                Session["CurrentLogin"] = m_LoginUser;

                System.Net.Mail.MailMessage MailMessage = new System.Net.Mail.MailMessage();
                System.Net.Mail.SmtpClient  emailClient = new System.Net.Mail.SmtpClient(ConfigurationManager.AppSettings["SMTPServer"].ToString());
                //MailMessage.To.Add(New System.Net.Mail.MailAddress(ContactProfile.Email))
                MailMessage.To.Add(new System.Net.Mail.MailAddress(m_LoginUser.Email));
                MailMessage.From = new System.Net.Mail.MailAddress(ConfigurationManager.AppSettings["AdminEmail"].ToString());

                MailMessage.Subject = string.Format("Welcome to {0}", Request.Url.Host.Replace("www.", string.Empty));

                if (numberOfProjects < 1)
                {
                    MailMessage.Body = string.Format("Hi there,<br><br>Welcome to join Kore Projects.<br><br>Your account has been activated.<br><br>The Kore Projects Team");
                }
                else
                {
                    if (numberOfProjects == 1)
                    {
                        MailMessage.Body = string.Format("Hi there,<br><br>Welcome to Kore Projects.<br><br>Your account has been activated with {0} project.<br>To visit Kore Projects please use the link below:<br><br>https://{1}<br><br>The Kore Projects Team", numberOfProjects, Request.Url.Authority);
                    }
                    else
                    {
                        MailMessage.Body = string.Format("Hi there,<br><br>Welcome to Kore Projects.<br><br>Your account has been activated with {0} projects.<br>To visit Kore Projects please use the link below:<br><br>https://{1}<br><br>The Kore Projects Team", numberOfProjects, Request.Url.Authority);
                    }
                }

                MailMessage.IsBodyHtml = true;
                try
                {
                    emailClient.Send(MailMessage);
                }
                catch (Exception ex)
                {
                    //Response.Redirect(String.Format("View.aspx?&msg=Invitation hasn't been sent - { 0}", ex.Message))
                    //throw;
                }

                ServiceGroup objServiceGroup = new ServiceGroup();
                objServiceGroup.UserId = m_LoginUser.UserId;
                objServiceGroup.Name   = "Rate Sheet 1";
                int intDisplayOrder = 0;
                objServiceGroup.DisplayOrder = intDisplayOrder;
                objServiceGroup.IsPrivate    = 2;
                m_ScopeService.CreateServiceGroup(objServiceGroup);
                objServiceGroup              = new ServiceGroup();
                objServiceGroup.UserId       = m_LoginUser.UserId;
                objServiceGroup.Name         = "Rate Sheet 2";
                objServiceGroup.DisplayOrder = intDisplayOrder;
                objServiceGroup.IsPrivate    = 2;
                m_ScopeService.CreateServiceGroup(objServiceGroup);

                if (Session["AcceptInvitation"] == null)
                {
                    //m_jsString = "parent.location.href='Projects/View.aspx';"
                    m_jsString = "parent.location.href='Contacts/ProjectOwnerDetail.aspx?user=new';";
                    Page.ClientScript.RegisterStartupScript(this.GetType(), "ProjectsView", m_jsString, true);
                }
                else
                {
                    Session["AcceptInvitation"] = null;
                    m_jsString = "parent.location.href='Contacts/ProjectOwnerDetail.aspx?user=new';";
                    Page.ClientScript.RegisterStartupScript(this.GetType(), "ProjectOwnerDetail", m_jsString, true);
                }
            }
            else
            {
                lblErrorMessage.Text = "The user email already exists. Please use a different email address.<br>Already a member? Click <a class='loginlink' onclick=\"parent.location.href='http://www.koreprojects.com/login.asp';\" href='#'>here</a> to login.";
                lblErrorMessage.Focus();
            }
        }
        else
        {
            lblErrorMessage.Text = "The user email already exists. Please use a different email address.<br>Already a member? Click <a class='loginlink' onclick=\"parent.location.href='http://www.koreprojects.com/login.asp';\" href='#'>here</a> to login.";
            lblErrorMessage.Focus();
        }
    }
        public string teacherSync_project(string person_id, int type_person)
        {
            ResponseProjectList r = new ResponseProjectList();
            ProjectOwner p = new ProjectOwner();
            if (type_person == 0)
            {
                r.code = 11;
                r.msg = "Parameter Wrong";
            }
            else
            {
                string constr = WebConfigurationManager.ConnectionStrings["Dbconnection"].ConnectionString;
                SqlConnection con = new SqlConnection(constr);
                con.Open();

                string sqlRequest = "SELECT * FROM Relation WHERE PersID = '" + person_id + "' AND Status_ID = '1' OR Status_ID = '2'";

                SqlCommand qrRequest = new SqlCommand(sqlRequest, con);
                SqlDataReader reader = qrRequest.ExecuteReader();
                r.projectlist = new List<ProjectOwner>();
                while (reader.Read())
                {
                    p = new ProjectOwner();

                    p.project = getNameProject(reader["ProjID"].ToString());
                    r.projectlist.Add(p);
                }
                reader.Close();
                con.Close();
            }
            return JsonConvert.SerializeObject(r);
        }