public void ConvertFrom(LegalEntityOwner legalEntityOwner, LegalEntityOwnerView legalEntityOwnerView, ObjectContext db) { legalEntityOwnerView.LegalEntityOwnerPK = legalEntityOwner.LegalEntityOwnerPK; legalEntityOwnerView.LegalEntityFK = legalEntityOwner.LegalEntityFK; legalEntityOwnerView.OwnerStringFK = legalEntityOwner.OwnerType.Trim() + "|" + legalEntityOwner.OwnerFK.ToString(); legalEntityOwnerView.AdditionalFactorFK = legalEntityOwner.AdditionalFactorFK; legalEntityOwnerView.FulfilledFactorFK = legalEntityOwner.FulfilledFactorFK; legalEntityOwnerView.BussinesShareBurdenFK = legalEntityOwner.BussinesShareBurdenFK; legalEntityOwnerView.ChangeTypeFK = legalEntityOwner.ChangeTypeFK; legalEntityOwnerView.BusinessShareAmount = legalEntityOwner.BusinessShareAmount; legalEntityOwnerView.NominalBussinesShareAmount = legalEntityOwner.NominalBussinesShareAmount; legalEntityOwnerView.PaidBussinesShareAmount = legalEntityOwner.PaidBussinesShareAmount; legalEntityOwnerView.NumberOfVotes = legalEntityOwner.NumberOfVotes; legalEntityOwnerView.EntryDate = legalEntityOwner.EntryDate; legalEntityOwnerView.Deleted = legalEntityOwner.Deleted; ILegalEntitiesRepository legalEntitiesRepository = new LegalEntitiesRepository(db); LegalEntity legalEntity = legalEntitiesRepository.GetLegalEntityByPK((int)legalEntityOwnerView.LegalEntityFK); legalEntityOwnerView.LegalEntityName = legalEntity.Name + " (" + legalEntity.OIB + ")"; }
public void ConvertFrom(Contract contract, ContractView contractView, ObjectContext db) { contractView.ContractPK = contract.ContractPK; contractView.LegalEntityFK = contract.LegalEntityFK; contractView.Name = contract.Name; contractView.Number = contract.Number; contractView.Date = contract.Date; contractView.ContractValidityFK = contract.ContractValidityFK; contractView.ContractBegin = contract.ContractBegin; contractView.ContractEnd = contract.ContractEnd; contractView.TerminationDate = contract.TerminationDate; contractView.TerminationDescription = contract.TerminationDescription; contractView.Terminated = contract.Terminated; contractView.CurrencyFK = contract.CurrencyFK; contractView.MIO = contract.MIO; contractView.TSI = contract.TSI; contractView.GZR = contract.GZR; contractView.OPL = contract.OPL; contractView.AUP = contract.AUP; contractView.Deleted = contract.Deleted; ILegalEntitiesRepository legalEntitiesRepository = new LegalEntitiesRepository(db); LegalEntity legalEntity = legalEntitiesRepository.GetLegalEntityByPK((int)contractView.LegalEntityFK); contractView.LegalEntityName = legalEntity.Name + " (" + legalEntity.OIB + ")"; }
public ActionResult Add(int?legalEntityFK) { TempData["legalEntityFK"] = legalEntityFK; AssessmentsView assessmentView = new AssessmentsView(); // Assessment types ddl IAssessmentTypesRepository assessmentTypesRepository = new AssessmentTypesRepository(db); assessmentView.AssessmentTypes = new SelectList(assessmentTypesRepository.GetValid().OrderBy("Name ASC").ToList(), "AssessmentTypePK", "Name"); //legalEntities ddl ILegalEntitiesRepository legalEntitiesRepository = new LegalEntitiesRepository(db); if (legalEntityFK != null) { TempData["legalEntityFK"] = legalEntityFK; assessmentView.LegalEntityFK = (int)legalEntityFK; assessmentView.LegalEntityName = legalEntitiesRepository.GetLegalEntityByPK((int)legalEntityFK).Name; } // Assessment types IAssessmentGroupsRepository assessmentGroupsRepository = new AssessmentGroupsRepository(db); IAssessmentQuestionsRepository assessmentQuestionsRepository = new AssessmentQuestionsRepository(db); assessmentView.AssessmentsTypesView = AssessmentsView.FillQuiz(assessmentTypesRepository.GetValid(), assessmentGroupsRepository, assessmentQuestionsRepository, null); return(View(assessmentView)); }
public void ConvertFrom(LegalEntityBank LegalEntityBank, LegalEntityBankView LegalEntityBankView, ObjectContext db) { LegalEntityBankView.LegalEntityBankPK = LegalEntityBank.LegalEntityBankPK; LegalEntityBankView.LegalEntityFK = LegalEntityBank.LegalEntityFK; LegalEntityBankView.BankFK = LegalEntityBank.BankFK; LegalEntityBankView.Iban = LegalEntityBank.Iban; LegalEntityBankView.Deleted = LegalEntityBank.Deleted; ILegalEntitiesRepository legalEntitiesRepository = new LegalEntitiesRepository(db); LegalEntity legalEntity = legalEntitiesRepository.GetLegalEntityByPK((int)LegalEntityBankView.LegalEntityFK); LegalEntityBankView.LegalEntityName = legalEntity.Name + " (" + legalEntity.OIB + ")"; }
public void ConvertFrom(LegalEntityLegalRepresentative legalEntityLegalRepresentative, LegalEntityLegalRepresentativeView legalEntityLegalRepresentativeView, ObjectContext db) { legalEntityLegalRepresentativeView.LegalEntityLegalRepresentativePK = legalEntityLegalRepresentative.LegalEntityLegalRepresentativePK; legalEntityLegalRepresentativeView.LegalEntityFK = legalEntityLegalRepresentative.LegalEntityFK; legalEntityLegalRepresentativeView.WayOfRepresentationFK = legalEntityLegalRepresentative.WayOfRepresentationFK; legalEntityLegalRepresentativeView.LegalRepresentativeFK = legalEntityLegalRepresentative.LegalRepresentativeFK; legalEntityLegalRepresentativeView.Deleted = legalEntityLegalRepresentative.Deleted; ILegalEntitiesRepository legalEntitiesRepository = new LegalEntitiesRepository(db); LegalEntity legalEntity = legalEntitiesRepository.GetLegalEntityByPK((int)legalEntityLegalRepresentative.LegalEntityFK); legalEntityLegalRepresentativeView.LegalEntityName = legalEntity.Name + " (" + legalEntity.OIB + ")"; }
public ActionResult UnOwner(int?legalEntityPK) { ILegalEntitiesRepository legalEntitiesRepository = new LegalEntitiesRepository(db); if (legalEntityPK != null) { LegalEntity legalEntity = legalEntitiesRepository.GetLegalEntityByPK((int)legalEntityPK); legalEntity.Owner = false; legalEntitiesRepository.SaveChanges(); } return(Redirect(Request.UrlReferrer.AbsoluteUri)); }
public ActionResult Delete(int?legalEntityPK) { ILegalEntitiesRepository legalEntitiesRepository = new LegalEntitiesRepository(db); if (legalEntityPK != null) { LegalEntity legalEntity = legalEntitiesRepository.GetLegalEntityByPK((int)legalEntityPK); legalEntity.Deleted = true; legalEntitiesRepository.SaveChanges(); TempData["message"] = LayoutHelper.GetMessage("DELETE", legalEntity.LegalEntityPK); } return(Redirect(Request.UrlReferrer.AbsoluteUri)); }
public ActionResult Edit(int?legalEntityPK) { if (legalEntityPK != null) { ILegalEntitiesRepository legalEntitiesRepository = new LegalEntitiesRepository(db); LegalEntity legalEntity = legalEntitiesRepository.GetLegalEntityByPK((int)legalEntityPK); LegalEntityView legalEntityView = new LegalEntityView(); legalEntityView.ConvertFrom(legalEntity, legalEntityView); legalEntityView.BindDDLs(legalEntityView, db); return(View(legalEntityView)); } else { return(RedirectToAction("Index", "LegalEntity")); } }
public ActionResult Add(int?legalEntityFK) { LegalEntityLegalRepresentativeView legalEntityLegalRepresentativeView = new LegalEntityLegalRepresentativeView(); if (legalEntityFK != null) { TempData["legalEntityFK"] = legalEntityFK; legalEntityLegalRepresentativeView.LegalEntityFK = (int)legalEntityFK; ILegalEntitiesRepository legalEntitiesRepository = new LegalEntitiesRepository(db); legalEntityLegalRepresentativeView.LegalEntityName = legalEntitiesRepository.GetLegalEntityByPK((int)legalEntityFK).Name; } legalEntityLegalRepresentativeView.BindDDLs(legalEntityLegalRepresentativeView, db); return(View(legalEntityLegalRepresentativeView)); }
public ActionResult Add(int?legalEntityFK) { ContractView contractView = new ContractView(); if (legalEntityFK != null) { TempData["legalEntityFK"] = legalEntityFK; contractView.LegalEntityFK = (int)legalEntityFK; ILegalEntitiesRepository legalEntitiesRepository = new LegalEntitiesRepository(db); contractView.LegalEntityName = legalEntitiesRepository.GetLegalEntityByPK((int)legalEntityFK).Name; } contractView.BindDDLs(contractView, db); return(View(contractView)); }
public ActionResult Edit(int?assessmentPK) { if (assessmentPK != null) { IAssessmentsRepository assessmentsRepository = new AssessmentsRepository(db); Assessment assessment = assessmentsRepository.GetAssessmentByPK((int)assessmentPK); AssessmentsView assessmentView = new AssessmentsView(); assessmentView.ConvertFrom(assessment, assessmentView); IAssessmentTypesRepository assessmentTypesRepository = new AssessmentTypesRepository(db); assessmentView.AssessmentTypes = new SelectList(assessmentTypesRepository.GetValid().OrderBy("Name ASC").ToList(), "AssessmentTypePK", "Name"); // Assessment types ddl IAssessmentGroupsRepository assessmentGroupsRepository = new AssessmentGroupsRepository(db); IAssessmentQuestionsRepository assessmentQuestionsRepository = new AssessmentQuestionsRepository(db); ILegalEntitiesRepository legalEntitiesRepository = new LegalEntitiesRepository(db); LegalEntity legalEntity = legalEntitiesRepository.GetLegalEntityByPK((int)assessment.LegalEntityFK); assessmentView.LegalEntityName = legalEntity.Name + " (" + legalEntity.OIB + ")"; FormCollection form = new FormCollection(); IAssessmentAnswersRepository assessmentAnswersRepository = new AssessmentAnswersRepository(db); IQueryable <AssessmentAnswers> assessmentAnswers = assessmentAnswersRepository.GetAssessmentAnswersByAssessment((int)assessmentPK); foreach (var assessmentAnswer in assessmentAnswers) { string answer = assessmentAnswer.AssessmentAnswer == null ? "NP": (bool)assessmentAnswer.AssessmentAnswer ? "Da" : "Ne"; form.Add("answer[" + assessmentAnswer.AssessmentQuestionFK + "]", answer); } assessmentView.AssessmentsTypesView = AssessmentsView.FillQuiz(assessmentTypesRepository.GetValid(), assessmentGroupsRepository, assessmentQuestionsRepository, form); return(View(assessmentView)); } else { return(RedirectToAction("Index", "Assessment")); } }
public static LegalEntityView GetLegalEntityReport(ObjectContext db, int legalEntityPK) { ILegalEntitiesRepository legalEntitiesRepository = new LegalEntitiesRepository(db); LegalEntity legalEntity = legalEntitiesRepository.GetLegalEntityByPK(legalEntityPK); LegalEntityView legalEntityView = new LegalEntityView { LegalEntityPK = legalEntity.LegalEntityPK, Name = legalEntity.Name, ShortName = legalEntity.ShortName, OIB = legalEntity.OIB, MB = legalEntity.MB, MBS = legalEntity.MBS, FormName = legalEntity.FormFK != null ? legalEntity.Form.Name : null, Active = legalEntity.Active, Deleted = legalEntity.Deleted }; return(legalEntityView); }
public ActionResult Add(int?legalEntityFK) { LegalEntityBranchView legalEntityBranchView = new LegalEntityBranchView(); // set default country to Croatia legalEntityBranchView.CountryFK = 81; //legalEntities ddl ILegalEntitiesRepository legalEntitiesRepository = new LegalEntitiesRepository(db); if (legalEntityFK != null) { TempData["legalEntityFK"] = legalEntityFK; legalEntityBranchView.LegalEntityFK = (int)legalEntityFK; legalEntityBranchView.LegalEntityName = legalEntitiesRepository.GetLegalEntityByPK((int)legalEntityFK).Name; } legalEntityBranchView.BindDDLs(legalEntityBranchView, db); return(View(legalEntityBranchView)); }
public void ConvertFrom(LegalEntityBranch legalEntityBranch, LegalEntityBranchView legalEntityBranchView, ObjectContext db) { legalEntityBranchView.LegalEntityBranchPK = legalEntityBranch.LegalEntityBranchPK; legalEntityBranchView.Name = legalEntityBranch.Name; legalEntityBranchView.LegalEntityFK = legalEntityBranch.LegalEntityFK; legalEntityBranchView.CountryFK = legalEntityBranch.CountryFK; legalEntityBranchView.CountyFK = legalEntityBranch.CountyFK; legalEntityBranchView.CityCommunityFK = legalEntityBranch.CityCommunityFK; legalEntityBranchView.PostalOfficeFK = legalEntityBranch.PostalOfficeFK; legalEntityBranchView.PlaceFK = legalEntityBranch.PlaceFK; legalEntityBranchView.StreetName = legalEntityBranch.StreetName; legalEntityBranchView.Phone = legalEntityBranch.Phone; legalEntityBranchView.Fax = legalEntityBranch.Fax; legalEntityBranchView.Mobile = legalEntityBranch.Mobile; legalEntityBranchView.EMail = legalEntityBranch.EMail; legalEntityBranchView.Deleted = legalEntityBranch.Deleted; ILegalEntitiesRepository legalEntitiesRepository = new LegalEntitiesRepository(db); LegalEntity legalEntity = legalEntitiesRepository.GetLegalEntityByPK((int)legalEntityBranchView.LegalEntityFK); legalEntityBranchView.LegalEntityName = legalEntity.Name + " (" + legalEntity.OIB + ")"; }
public ActionResult Edit(LegalEntityView legalEntityView, FormCollection form) { if (ModelState.IsValid) { ILegalEntitiesRepository legalEntitiesRepository = new LegalEntitiesRepository(db); LegalEntity legalEntity = legalEntitiesRepository.GetLegalEntityByPK((int)legalEntityView.LegalEntityPK); legalEntityView.ConvertTo(legalEntityView, legalEntity); legalEntitiesRepository.SaveChanges(); TempData["message"] = LayoutHelper.GetMessage("UPDATE", legalEntity.LegalEntityPK); return(RedirectToAction("Index", "LegalEntity", new { active = "true" })); } else { legalEntityView.BindDDLs(legalEntityView, db); return(View(legalEntityView)); } }
public ActionResult WorkDoneExportToExcel( int?toDoListFK, int?legalEntityFK, int?workTypeFK, int?workSubtypeFK, int?serviceTypeFK, int?userFK, string dateFrom, string dateTo, int?timeSpentFrom, int?timeSpentTo, int?numberOfAttachmentsFrom, int?numberOfAttachmentsTo, string description, bool ShowBasicInfo, bool ShowOrdinal, bool ShowID, bool ShowToDoList, bool ShowLegalEntity, bool ShowWorkType, bool ShowWorkSubtype, bool ShowServiceType, bool ShowDate, bool ShowUsername, bool ShowDescription, bool ShowTimeSpent, bool ShowComment, bool ShowAttachments) { IWorkDonesRepository workDonesRepository = new WorkDonesRepository(db); IWorkDoneAttachmentsRepository workDoneAttachmentsRepository = new WorkDoneAttachmentsRepository(db); WorkDoneView workDoneView = new WorkDoneView(); IContractsRepository contractsRepository = new ContractsRepository(db); ILegalEntityBranchesRepository legalEntityBranchesRepository = new LegalEntityBranchesRepository(db); IToDoListsRepository toDoListsRepository = new ToDoListsRepository(db); ILegalEntitiesRepository legalEntitiesRepository = new LegalEntitiesRepository(db); IWorkTypesRepository workTypesRepository = new WorkTypesRepository(db); IWorkSubtypesRepository workSubtypesRepository = new WorkSubtypesRepository(db); IServiceTypesRepository serviceTypesRepository = new ServiceTypesRepository(db); IUsersRepository usersRepository = new UsersRepository(db); string sortOrder = !string.IsNullOrWhiteSpace(Request.QueryString["sortOrder"]) ? Request.QueryString["sortOrder"] : "DESC"; string sortColumn = !string.IsNullOrWhiteSpace(Request.QueryString["sortColumn"]) ? Request.QueryString["sortColumn"] : "WorkDonePK"; string ordering = sortColumn + " " + sortOrder; ordering = ordering.Trim(); if (legalEntityFK != null) { ViewBag.LegalEntity = legalEntitiesRepository.GetLegalEntityByPK((int)legalEntityFK).Name; } if (toDoListFK != null) { ViewBag.ToDoList = toDoListsRepository.GetToDoListByPK((int)toDoListFK).Name; } if (workTypeFK != null) { ViewBag.WorkType = workTypesRepository.GetWorkTypeByPK((int)workTypeFK).Name; } if (workSubtypeFK != null) { ViewBag.WorkSubtype = workSubtypesRepository.GetWorkSubtypeByPK((int)workSubtypeFK).Name; } if (userFK != null) { ViewBag.User = usersRepository.GetUserByUserID((int)userFK).Username; } DateTime?dateFromTime = null; DateTime?dateToTime = null; if (dateFrom != null && dateFrom != "") { dateFromTime = DateTime.ParseExact(dateFrom, "dd.MM.yyyy.", null); } if (dateTo != null && dateTo != "") { dateToTime = DateTime.ParseExact(dateTo, "dd.MM.yyyy.", null); } // Applying filters IQueryable <WorkDone> workDonesFiltered = WorkDoneView.GetWorkDonesReport(db, toDoListFK, legalEntityFK, workTypeFK, workSubtypeFK, serviceTypeFK, userFK, dateFromTime, dateToTime, timeSpentFrom, timeSpentTo, numberOfAttachmentsFrom, numberOfAttachmentsTo, description); IQueryable <WorkDoneView> workDones = WorkDoneView.GetWorkDoneView(workDonesFiltered, toDoListsRepository.GetValid(), workDoneAttachmentsRepository.GetValid(), legalEntitiesRepository.GetValidLegalEntities(), workTypesRepository.GetValid(), workSubtypesRepository.GetValid(), serviceTypesRepository.GetValid(), usersRepository.GetValid()) .OrderBy(ordering); var workDonesList = workDones.ToList(); var columns = new Dictionary <string, int>(); var ms = new MemoryStream(); using (var package = new ExcelPackage(ms)) { ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("Izvršeni posao"); var columnPosition = 1; Action <bool, string> setColumnHeader = (columnVisible, columnName) => { if (columnVisible) { worksheet.Cells[1, columnPosition].Value = columnName; worksheet.Cells[1, columnPosition].Style.Font.Bold = true; columns.Add(columnName, columnPosition++); } }; setColumnHeader(ShowOrdinal, "#"); setColumnHeader(ShowID, "ID"); setColumnHeader(ShowToDoList, "Obaveza"); setColumnHeader(ShowLegalEntity, "Tvrtka"); setColumnHeader(ShowWorkType, "Vrsta rada"); setColumnHeader(ShowWorkSubtype, "Vrsta posla"); setColumnHeader(ShowServiceType, "Vrsta usluge"); setColumnHeader(ShowDate, "Datum izvršenja"); setColumnHeader(ShowUsername, "Korisnik"); setColumnHeader(ShowDescription, "Opis"); setColumnHeader(ShowTimeSpent, "Utrošeno vrijeme"); setColumnHeader(ShowComment, "Važna napomena"); setColumnHeader(ShowAttachments, "Prilozi"); Action <int, bool, string, object> setRowValue = (ri, columnVisible, columnName, value) => { if (columnVisible) { worksheet.Cells[ri, columns[columnName]].Value = value; } }; var rowIndex = 2; foreach (var item in workDonesList) { setRowValue(rowIndex, ShowOrdinal, "#", rowIndex - 1); setRowValue(rowIndex, ShowID, "ID", item.WorkDonePK); setRowValue(rowIndex, ShowToDoList, "Obaveza", item.ToDoListName); setRowValue(rowIndex, ShowLegalEntity, "Tvrtka", item.LegalEntityName); setRowValue(rowIndex, ShowWorkType, "Vrsta rada", item.WorkTypeName); setRowValue(rowIndex, ShowWorkSubtype, "Vrsta posla", item.WorkSubtypeName); setRowValue(rowIndex, ShowServiceType, "Vrsta usluge", item.ServiceTypeName); setRowValue(rowIndex, ShowDate, "Datum izvršenja", item.Date?.ToString("dd.MM.yyyy.")); setRowValue(rowIndex, ShowUsername, "Korisnik", item.UserUsername); setRowValue(rowIndex, ShowDescription, "Opis", item.Description); setRowValue(rowIndex, ShowTimeSpent, "Utrošeno vrijeme", LinkHelper.calculateTimeSpent(item.TimeSpent)); setRowValue(rowIndex, ShowComment, "Važna napomena", item.Comment); setRowValue(rowIndex, ShowAttachments, "Prilozi", item.WorkDoneAttachmentsCount); rowIndex++; } worksheet.Calculate(); worksheet.Cells.AutoFitColumns(0); package.Save(); } ms.Seek(0, SeekOrigin.Begin); return(new FileStreamResult(ms, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") { FileDownloadName = $"Izvršeni posao {DateTime.Now.ToString("yyyy-dd-M--HH-mm-ss")}.xlsx" }); }
public ActionResult WorkDone(int?toDoListFK, int?legalEntityFK, int?workTypeFK, int?workSubtypeFK, int?serviceTypeFK, int?userFK, string dateFrom, string dateTo, int?timeSpentFrom, int?timeSpentTo, int?numberOfAttachmentsFrom, int?numberOfAttachmentsTo, string description) { IWorkDonesRepository workDonesRepository = new WorkDonesRepository(db); IWorkDoneAttachmentsRepository workDoneAttachmentsRepository = new WorkDoneAttachmentsRepository(db); WorkDoneView workDoneView = new WorkDoneView(); IContractsRepository contractsRepository = new ContractsRepository(db); ILegalEntityBranchesRepository legalEntityBranchesRepository = new LegalEntityBranchesRepository(db); IToDoListsRepository toDoListsRepository = new ToDoListsRepository(db); ILegalEntitiesRepository legalEntitiesRepository = new LegalEntitiesRepository(db); IWorkTypesRepository workTypesRepository = new WorkTypesRepository(db); IWorkSubtypesRepository workSubtypesRepository = new WorkSubtypesRepository(db); IServiceTypesRepository serviceTypesRepository = new ServiceTypesRepository(db); IUsersRepository usersRepository = new UsersRepository(db); string sortOrder = !string.IsNullOrWhiteSpace(Request.QueryString["sortOrder"]) ? Request.QueryString["sortOrder"] : "DESC"; string sortColumn = !string.IsNullOrWhiteSpace(Request.QueryString["sortColumn"]) ? Request.QueryString["sortColumn"] : "WorkDonePK"; string ordering = sortColumn + " " + sortOrder; ordering = ordering.Trim(); //grid filters ddl ViewBag.ToDoLists = new SelectList(toDoListsRepository.GetValid().OrderBy("Name ASC").ToList(), "ToDoListPK", "Name", toDoListFK); ViewBag.LegalEntities = new SelectList(legalEntitiesRepository.GetValidLegalEntities().OrderBy("Name ASC").ToList(), "LegalEntityPK", "Name", legalEntityFK); ViewBag.WorkTypes = new SelectList(workTypesRepository.GetValid().OrderBy("Name ASC").ToList(), "WorkTypePK", "Name", workTypeFK); ViewBag.WorkSubtypes = new SelectList(workSubtypesRepository.GetValid().OrderBy("Name ASC").ToList(), "WorkSubtypePK", "Name", workSubtypeFK); ViewBag.ServiceTypes = new SelectList(serviceTypesRepository.GetValid().OrderBy("Name ASC").ToList(), "ServiceTypePK", "Name", serviceTypeFK); ViewBag.Users = new SelectList(usersRepository.GetValid().OrderBy("Username ASC").ToList(), "UserPK", "Username", userFK); if (legalEntityFK != null) { ViewBag.LegalEntity = legalEntitiesRepository.GetLegalEntityByPK((int)legalEntityFK).Name; } if (toDoListFK != null) { ViewBag.ToDoList = toDoListsRepository.GetToDoListByPK((int)toDoListFK).Name; } if (workTypeFK != null) { ViewBag.WorkType = workTypesRepository.GetWorkTypeByPK((int)workTypeFK).Name; } if (workSubtypeFK != null) { ViewBag.WorkSubtype = workSubtypesRepository.GetWorkSubtypeByPK((int)workSubtypeFK).Name; } if (userFK != null) { ViewBag.User = usersRepository.GetUserByUserID((int)userFK).Username; } DateTime?dateFromTime = null; DateTime?dateToTime = null; if (dateFrom != null && dateFrom != "") { dateFromTime = DateTime.ParseExact(dateFrom, "dd.MM.yyyy.", null); } if (dateTo != null && dateTo != "") { dateToTime = DateTime.ParseExact(dateTo, "dd.MM.yyyy.", null); } // Applying filters IQueryable <WorkDone> workDonesFiltered = WorkDoneView.GetWorkDonesReport(db, toDoListFK, legalEntityFK, workTypeFK, workSubtypeFK, serviceTypeFK, userFK, dateFromTime, dateToTime, timeSpentFrom, timeSpentTo, numberOfAttachmentsFrom, numberOfAttachmentsTo, description); IQueryable <WorkDoneView> workDones = WorkDoneView.GetWorkDoneView(workDonesFiltered, toDoListsRepository.GetValid(), workDoneAttachmentsRepository.GetValid(), legalEntitiesRepository.GetValidLegalEntities(), workTypesRepository.GetValid(), workSubtypesRepository.GetValid(), serviceTypesRepository.GetValid(), usersRepository.GetValid()) .OrderBy(ordering); // Excluding temporary deleted items from view workDonesPKPKsToExclude = new List <int>(); // Empty session on first request if (Request.QueryString.Count == 0) { Session["workDonesPKPKsToExclude"] = null; } if (Session["workDonesPKPKsToExclude"] != null) { workDonesPKPKsToExclude = (List <int>)Session["workDonesPKPKsToExclude"]; workDones = workDones.Where(c => !workDonesPKPKsToExclude.Contains(c.WorkDonePK)); } return(View("WorkDone", workDones.ToList())); }
public ActionResult Edit(AssessmentsView assessmentView, FormCollection form) { if (ModelState.IsValid) { IAssessmentsRepository assessmentsRepository = new AssessmentsRepository(db); Assessment assessment = assessmentsRepository.GetAssessmentByPK((int)assessmentView.AssessmentPK); IAssessmentAnswersRepository assessmentAnswersRepository = new AssessmentAnswersRepository(db); // Delete old values assessmentAnswersRepository.Delete(a => a.AssessmentFK == assessment.AssessmentPK); // Add new values IAssessmentGroupsRepository assessmentGroupsRepository = new AssessmentGroupsRepository(db); IAssessmentQuestionsRepository assessmentQuestionsRepository = new AssessmentQuestionsRepository(db); IAssessmentTypesRepository assessmentTypesRepository = new AssessmentTypesRepository(db); assessmentView.AssessmentsTypesView = AssessmentsView.FillQuiz(assessmentTypesRepository.GetValid(), assessmentGroupsRepository, assessmentQuestionsRepository, form); // Fetching answered type AssessmentsTypeView atw = assessmentView.AssessmentsTypesView.Where(a => a.AssessmentType.AssessmentTypePK == assessmentView.AssessmentTypeFK).First(); List <AssessmentAnswers> assessmentAnswers = AssessmentAnswerView.ExtractQuizAnswers(atw, assessment.AssessmentPK); ILegalEntitiesRepository legalEntitiesRepository = new LegalEntitiesRepository(db); LegalEntity legalEntity = legalEntitiesRepository.GetLegalEntityByPK((int)assessmentView.LegalEntityFK); bool activityHighRisky = legalEntity.Activity.HighRisk != null && (bool)legalEntity.Activity.HighRisk ? true : false; bool activityLowRisky = legalEntity.Activity.LowRisk != null && (bool)legalEntity.Activity.LowRisk ? true : false; bool headquarterCountryRisky = legalEntity.Country.Risk != null && (bool)legalEntity.Country.Risk ? true : false; IRisksRepository risksRepository = new RisksRepository(db); if (activityHighRisky || headquarterCountryRisky) // check explicitly if related legalEntity activity is high risk { assessmentView.RiskFK = risksRepository.GetRiskByName("Visok").RiskPK; } else if (activityLowRisky) // check explicitly if related legalEntity activity is low risk { assessmentView.RiskFK = risksRepository.GetRiskByName("Nizak").RiskPK; } else // run assesment quiz { ILegalEntityOwnersRepository legalEntityOwnersRepository = new LegalEntityOwnersRepository(db); IQueryable <LegalEntityOwner> legalEntityOwnersTable = legalEntityOwnersRepository.GetValid(); ICountriesRepository countriesRepository = new CountriesRepository(db); IActivitiesRepository activitiesRepository = new ActivitiesRepository(db); List <LegalEntityOwner> coList = legalEntityOwnersRepository.GetFirstLegalEntityOwnersForLegalEntity((int)assessmentView.LegalEntityFK).ToList(); legalEntityOwnersTable = LegalEntityOwnerView.GetLegalEntityOwnersForLegalEntity(Convert.ToInt32(assessmentView.LegalEntityFK), coList, legalEntityOwnersTable); IQueryable <LegalEntity> legalEntityView = LegalEntityOwnerView.GetRelatedLegalEntities(legalEntityOwnersTable, legalEntitiesRepository.GetValid(), countriesRepository.GetValid(), activitiesRepository.GetValid()); // check owners risks bool ownersResidenceCountryRisky = false; bool ownersActivitiesHighlyRisky = false; bool ownersActivitiesLowRisky = false; if (legalEntityView.Count() > 0) { if (legalEntityView.ToList().TrueForAll(le => le.Country.Risk == null || (le.Country.Risk != null && (bool)le.Country.Risk != true)) == false) { ownersResidenceCountryRisky = true; } if (legalEntityView.ToList().TrueForAll(le => le.Activity == null || (le.Activity.HighRisk == null || (le.Activity.HighRisk != null && (bool)le.Activity.HighRisk != true))) == false) { ownersActivitiesHighlyRisky = true; } if (legalEntityView.ToList().TrueForAll(le => le.Activity == null || (le.Activity.LowRisk == null || (le.Activity.LowRisk != null && (bool)le.Activity.LowRisk != true))) == false) { ownersActivitiesLowRisky = true; } } // check form bool allAnswersYes = false; bool allAnswersNo = false; bool mixedAnswers = false; if (assessmentAnswers.TrueForAll(aa => aa.AssessmentAnswer != null && (bool)aa.AssessmentAnswer == true)) { allAnswersYes = true; } if (assessmentAnswers.TrueForAll(aa => aa.AssessmentAnswer != null && (bool)aa.AssessmentAnswer == false)) { allAnswersNo = true; } if (allAnswersYes == false && allAnswersNo == false) { mixedAnswers = true; } // check general conditions if (ownersActivitiesLowRisky) { assessmentView.RiskFK = risksRepository.GetRiskByName("Nizak").RiskPK; } else if (allAnswersYes || ownersResidenceCountryRisky || ownersActivitiesHighlyRisky) { assessmentView.RiskFK = risksRepository.GetRiskByName("Visok").RiskPK; } else if (allAnswersNo || mixedAnswers) { assessmentView.RiskFK = risksRepository.GetRiskByName("Srednji").RiskPK; } } if (assessmentAnswers.Count() > 0) { assessmentAnswersRepository.AddAll(assessmentAnswers); assessmentAnswersRepository.SaveChanges(); } assessmentView.ConvertTo(assessmentView, assessment); assessmentsRepository.SaveChanges(); TempData["message"] = LayoutHelper.GetMessage("UPDATE", assessment.AssessmentPK); return(RedirectToAction("Index", "Assessment")); } else { IAssessmentGroupsRepository assessmentGroupsRepository = new AssessmentGroupsRepository(db); IAssessmentQuestionsRepository assessmentQuestionsRepository = new AssessmentQuestionsRepository(db); //Assessment types ddl IAssessmentTypesRepository assessmentTypesRepository = new AssessmentTypesRepository(db); assessmentView.AssessmentTypes = new SelectList(assessmentTypesRepository.GetValid().OrderBy("Name ASC").ToList(), "AssessmentTypePK", "Name"); //legalEntities ddl ILegalEntitiesRepository legalEntitiesRepository = new LegalEntitiesRepository(db); assessmentView.LegalEntities = new SelectList(legalEntitiesRepository.GetValidLegalEntities().ToList(), "LegalEntityPK", "Name"); assessmentView.AssessmentsTypesView = AssessmentsView.FillQuiz(assessmentTypesRepository.GetValid(), assessmentGroupsRepository, assessmentQuestionsRepository, form); return(View(assessmentView)); } }