示例#1
0
        public virtual JsonResult Mission(string operationNumber)
        {
            SaveMissionResponse response = new SaveMissionResponse();
            var jsonDataRequest          = PageSerializationHelper.DeserializeJsonForm(Request.Form[0]);
            var viewModel = PageSerializationHelper.DeserializeObject <MissionViewModel>(jsonDataRequest.SerializedData);

            if (viewModel == null)
            {
                viewModel = new MissionViewModel();
            }

            viewModel.UpdateMissionViewModel(jsonDataRequest.ClientFieldData);

            string userName  = IDBContext.Current.UserName;
            string missionId = viewModel.MissionId.ToString();

            response = _missionService.SaveMission(viewModel, operationNumber);

            if (!viewModel.IsNewMission)
            {
                SynchronizationHelper.TryReleaseLock(UrlMission, missionId, userName);
            }

            return(Json(response));
        }
        public static void UpdateMissionDocuments(this MissionViewModel viewModel, ClientFieldData[] clientFieldData)
        {
            var hiddenMissionIdEdit = clientFieldData.FirstOrDefault(o => o.Name.Equals("hiddenMissionIdDocument"));

            if (hiddenMissionIdEdit != null)
            {
                viewModel.MissionId = Convert.ToInt32(hiddenMissionIdEdit.Value);
            }

            var documentDescription = clientFieldData.Where(x => !string.IsNullOrWhiteSpace(x.Name) && x.Name.Contains("documentDescription"));

            var documentNumber = clientFieldData.Where(x => !string.IsNullOrWhiteSpace(x.Name) && x.Name.Contains("documentNumber"));

            var documentIndex = 0;

            foreach (var document in documentDescription)
            {
                var documentNumberValue = documentNumber.ToArray()[documentIndex].Value;

                viewModel.Documents.Add(
                    new DocumentViewModel
                {
                    Description = document.Value,
                    DocNumber   = documentNumberValue
                });

                documentIndex++;
            }
        }
示例#3
0
        public void AddPhase()
        {
            var missionViewModel = new MissionViewModel();

            missionViewModel.CurrentMission.AddPhase("temp");
            Assert.AreEqual(1, missionViewModel.PhaseCount);
        }
示例#4
0
 private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
 {
     this.DataContext = null;
     this.model.Dispose();
     this.model = null;
     this.conn.Dispose();
 }
示例#5
0
        public Mission()
        {
            InitializeComponent();

            _viewModel  = (MissionViewModel)LayoutRoot.DataContext;
            DataContext = _viewModel;
        }
示例#6
0
        public void MissionVM()
        {
            var missionViewModel = new MissionViewModel();

            Assert.AreEqual(0, missionViewModel.PhaseCount);
            //Assert.AreEqual(0, missionViewModel.CurrentMission.MilitaryMessages.Count);
            Assert.AreEqual(0, missionViewModel.CurrentMission.PhaseList.Count);
            Assert.AreEqual(0, missionViewModel.CurrentPhaseIndex);
        }
示例#7
0
        public void DeletePhaseCommand()
        {
            var missionViewModel = new MissionViewModel();

            missionViewModel.CurrentMission.AddPhase("temp");
            missionViewModel.CurrentMission.AddPhase("temp");
            missionViewModel.DeletePhaseCommand.Execute(true);
            Assert.AreEqual(1, missionViewModel.PhaseCount);
        }
示例#8
0
        public void BackPhaseCommand()
        {
            var missionViewModel = new MissionViewModel();

            missionViewModel.CurrentMission.AddPhase("temp");
            missionViewModel.CurrentMission.AddPhase("temp");
            missionViewModel.PhaseBackCommand.Execute(null);
            missionViewModel.PhaseBackCommand.Execute(null);
            Assert.AreEqual(0, missionViewModel.CurrentPhaseIndex);
        }
示例#9
0
 public async Task <Mission> CreateMissionFromViewModel(MissionViewModel missionModel)
 {
     return(await _missionRepository.AddAsync(new Mission()
     {
         Address = missionModel.Address,
         PhoneNumber = missionModel.PhoneNumber,
         Description = missionModel.Description,
         MissionTypeId = missionModel.MissionTypeId,
         EmployerId = missionModel.EmployerId
     }));
 }
示例#10
0
        public virtual JsonResult CheckResend()
        {
            var jsonDataRequest = PageSerializationHelper.DeserializeJsonForm(Request.Form[0]);
            var viewModel       = new MissionViewModel();

            viewModel.UpdateMissionViewModel(jsonDataRequest.ClientFieldData);

            var response = _missionService.CheckResendVpsWorkflow(viewModel);

            return(Json(response));
        }
        public IActionResult Create([FromBody] MissionViewModel mission)
        {
            if (mission == null)
            {
                return(BadRequest());
            }

            var id = _missionService.Add(mission);

            return(Created($"api/Mission/{id}", id));  //HTTP201 Resource created
        }
示例#12
0
        public ActionResult Create()
        {
            MissionViewModel mission = new MissionViewModel
            {
                MissionEndList   = new List <MissionEnd>(),
                MissionStartList = new List <MissionStart>()
            };


            return(View(mission));
        }
示例#13
0
 public ActionResult _MissionAsset(MissionViewModel model, int?index)
 {
     index                  = index ?? 0;
     ViewBag.Index          = index;
     model.MissionAssetList = new List <MissionAssets>();
     for (int i = 0; i <= index; i++)
     {
         model.MissionAssetList.Add(new MissionAssets());
     }
     return(PartialView(model));
 }
示例#14
0
 public async Task UpdateMissionFromViewModel(MissionViewModel missionModel)
 {
     await _missionRepository.UpdateAsync(new Mission()
     {
         Id            = missionModel.Id,
         Address       = missionModel.Address,
         PhoneNumber   = missionModel.PhoneNumber,
         Description   = missionModel.Description,
         MissionTypeId = missionModel.MissionTypeId,
         EmployerId    = missionModel.EmployerId
     });
 }
示例#15
0
        public virtual ActionResult CreateMission(MissionViewModel missionViewModel)
        {
            this.Validate(missionViewModel, string.Empty);
            if (!ModelState.IsValid)
            {
                return(View(missionViewModel));
            }
            var flightLog = Repository.Get <FlightLog>(missionViewModel.FlightLogId);
            var mission   = Mapper.Map <MissionViewModel, Mission>(missionViewModel);

            flightLog.AddMission(mission);
            return(RedirectToAction(MVC.FlightLogs.EditFlightLog(missionViewModel.FlightLogId.Value)));
        }
示例#16
0
        public async System.Threading.Tasks.Task <ActionResult> Create(MissionViewModel mvm, HttpPostedFileBase image)
        {
            try
            {
                Mapper.Initialize(cfg => {
                    cfg.CreateMap <MissionViewModel, Missions>();
                });
                Missions             mission           = Mapper.Map <Missions>(mvm);
                List <MissionStart>  MissionStartList  = mvm.MissionStartList;
                List <MissionEnd>    MissionEndList    = mvm.MissionEndList;
                List <MissionAssets> MissionAssetsList = mvm.MissionAssetList;

                if (string.IsNullOrEmpty(mission.imgURL) && image != null)
                {
                    string filename = "";
                    filename = DateTime.Now.ToString("yyyyMMddTHHmmssfff");
                    Google.Apis.Auth.OAuth2.GoogleCredential credential = await Google.Apis.Auth.OAuth2.GoogleCredential.GetApplicationDefaultAsync();

                    _imageUploader = new ImageUploader(System.Web.Configuration.WebConfigurationManager.AppSettings["GoogleCloud:BucketName"]);
                    var imageUrl = await _imageUploader.UploadImage(image, filename, "MissionImg");

                    mission.imgURL = imageUrl;
                }


                MissionsRepository mr = new MissionsRepository();
                mission.valid = 1;
                mr.AddMission(mission);
                foreach (var m in MissionStartList)
                {
                    m.missionSn = mission.sn;
                    mr.AddMissionStart(m);
                }
                foreach (var m in MissionEndList)
                {
                    m.missionSn = mission.sn;
                    mr.AddMissionEnd(m);
                }
                foreach (var m in MissionAssetsList)
                {
                    m.missionSn = mission.sn;
                    mr.AddMissionAsset(m);
                }

                return(RedirectToAction("Index"));
            }
            catch (Exception e)
            {
                return(View(mvm));
            }
        }
示例#17
0
        public virtual ActionResult EditMission(Guid id, MissionViewModel missionViewModel)
        {
            var mission = Repository.Get <Mission>(id);

            this.Validate(missionViewModel, string.Empty);
            if (!ModelState.IsValid)
            {
                var viewModel = Mapper.Map <Mission, MissionViewModel>(mission);
                viewModel.IsFlightLogManager = CurrentUser.Roles.FlightLogManager;
                return(View(viewModel));
            }
            Mapper.Map <MissionViewModel, Mission>(missionViewModel, mission);
            mission.MarkedUpdated();
            return(RedirectToAction(MVC.FlightLogs.EditFlightLog(missionViewModel.FlightLogId.Value)));
        }
示例#18
0
        public ActionResult Index()
        {
            var initialMap = new List<List<string>>();
            for (int i = 0; i < MissionManager.Bounds.Height; i++)
            {
                if (i != MissionManager.Rover.Location.Y)
                    initialMap.Add(GetGroundRow());
                else
                    initialMap.Add(GetRoverRow(MissionManager.Rover));
            }

            var viewModel = new MissionViewModel
            {
                Map = initialMap
            };
            return Json(viewModel, JsonRequestBehavior.AllowGet);
        }
        public ActionResult Create(MissionViewModel model, int taskIdNew)
        {
            var task = taskService.GetById(taskIdNew);

            missionService.Create(new MissionEntity
            {
                Name        = task.Name,
                TaskId      = taskIdNew,
                IsDone      = false,
                Description = model.Description
            });
            var mission = missionService.GetAllByPredicate(m => m.TaskId == taskIdNew).Select(m => m.GetMissionViewModel
                                                                                                  ());

            ViewBag.Tasks      = taskService.GetAllEntities();
            ViewBag.Precentage = 0;
            return(PartialView("_MissionView", mission));
        }
        private static void DetermineType(MissionViewModel viewModel, ClientFieldData[] clientFieldData)
        {
            //Verify if Type is ESG
            var ESGtype = clientFieldData.FirstOrDefault(o => o.Name.Equals("organizationalUnitText"));

            if (ESGtype != null)
            {
                if (ESGtype.Value.ToString() == "VPS/ESG")
                {
                    // if ESG get id from hidden
                    var typeESGIdHidden = clientFieldData.FirstOrDefault(o => o.Name.Equals("typeESGIdHidden"));
                    if (typeESGIdHidden != null)
                    {
                        viewModel.OrganizationalUnitId = Convert.ToInt32(typeESGIdHidden.Value.ToString());
                        return;
                    }
                }
            }

            //determine from where Type is is getted
            var             hasOnlyOneOrgUnit  = clientFieldData.FirstOrDefault(o => o.Name.Equals("hasOnlyOneOrgUnit"));
            ClientFieldData organizationalUnit = null;

            if (hasOnlyOneOrgUnit != null)
            {
                if (Convert.ToBoolean(hasOnlyOneOrgUnit.Value))
                {
                    //if type is in texbox, get id from hidden
                    organizationalUnit = clientFieldData.FirstOrDefault(o => o.Name.Equals("organizationalUnitIdHidden"));
                }
                else
                {
                    // get the value from combobox
                    organizationalUnit = clientFieldData.FirstOrDefault(o => o.Name.Equals("organizationalUnit"));
                }

                if (organizationalUnit != null)
                {
                    viewModel.OrganizationalUnitId = Convert.ToInt32(organizationalUnit.Value.ToString());
                }
            }
        }
        public IActionResult Update(int id, [FromBody] MissionViewModel mission)
        {
            if (mission == null || mission.Id != id)
            {
                return(BadRequest());
            }

            var retVal = _missionService.Update(mission);

            if (retVal == 0)
            {
                return(StatusCode(304));                 //Not Modified
            }
            else if (retVal == -1)
            {
                return(StatusCode(412, "DbUpdateConcurrencyException"));  //412 Precondition Failed  - concurrency
            }
            else
            {
                return(Accepted(mission));
            }
        }
示例#22
0
        public virtual JsonResult SaveHelpMemoryDocument(string operationNumber, int missionId, string documentNumber, string fileName)
        {
            var documents = new List <DocumentViewModel>
            {
                new DocumentViewModel
                {
                    DocNumber   = documentNumber,
                    Date        = DateTime.Now,
                    Description = string.Empty,
                    FileName    = fileName,
                    User        = IDBContext.Current.UserName
                }
            };
            var viewModel = new MissionViewModel
            {
                MissionId = missionId,
                Documents = documents
            };

            var response = _missionService.SaveMissionDocuments(viewModel);

            return(Json(response));
        }
示例#23
0
        public virtual JsonResult SaveDocuments(string operationNumber)
        {
            SaveMissionResponse response;

            var jsonDataRequest = PageSerializationHelper.DeserializeJsonForm(Request.Form[0]);
            var viewModel       = PageSerializationHelper.DeserializeObject <MissionViewModel>(jsonDataRequest.SerializedData);

            if (viewModel == null)
            {
                viewModel = new MissionViewModel();
            }

            viewModel.UpdateMissionDocuments(jsonDataRequest.ClientFieldData);

            var userName     = IDBContext.Current.UserName;
            var errorMessage = SynchronizationHelper.AccessToResources(SynchronizationHelper.EDIT_MODE, UrlSaveDocuments, viewModel.MissionId.ToString(), userName);

            if (!string.IsNullOrWhiteSpace(errorMessage))
            {
                response = new SaveMissionResponse
                {
                    IsValid      = false,
                    ErrorMessage = errorMessage
                };
            }
            else
            {
                response = _missionService.SaveMissionDocuments(viewModel);

                if (response.IsValid)
                {
                    SynchronizationHelper.TryReleaseLock(UrlSaveDocuments, operationNumber, userName);
                }
            }

            return(Json(response));
        }
 public MissionPage()
 {
     InitializeComponent();
     viewModel = BindingContext as MissionViewModel;
 }
示例#25
0
        public async Task <IEnumerable <MissionViewModel> > GetMissionsAsync(
            int pageNumber  = 0,
            int pageSize    = 100,
            bool onlyActive = false)
        {
            var retrieveHyperDocumentArgs = new FindHyperDocumentsArgs()
            {
                Skip  = pageNumber * pageSize,
                Limit = pageSize,
            };

            retrieveHyperDocumentArgs.SetDocumentType(typeof(HyperMission));

            var condition = new MultiScopeCondition();

            if (onlyActive)
            {
                //var conditionOr = new MultiScopeCondition()
                //{
                //	Mode = AndOr.Or
                //};
                //conditionOr.AddCondition(Assist.GetPropertyName((HyperMission i) => i.Archived), false);
                //conditionOr.AddCondition(Assist.GetPropertyName((HyperMission i) => i.Archived), false, ScopeCondition.Comparators.DoesNotExist);
                //condition.AddCondition(conditionOr);
            }

            retrieveHyperDocumentArgs.DescriptorConditions.AddCondition(condition);

            var results = await _netStore.ExecuteAsync(retrieveHyperDocumentArgs);

            var missionVms = new List <MissionViewModel>();

            foreach (var hyperDocument in results)
            {
                var mission = hyperDocument.GetPayload <HyperMission>();

                var missionVM = new MissionViewModel
                {
                    MissionId = mission.Id,
                    Mission   = mission,
                    Name      = mission.Name,
                    Document  = hyperDocument,
                    IsActive  = !mission.Archived,
                };

                missionVms.Add(missionVM);
            }


            var getMissionStatusTasks = new List <IHyperArgs <HyperMissionInstanceStatus> >();

            var listRetrieveMissionStatusArgs = new List <Tuple <string, GetHyperMissionStatusArgs> >();

            foreach (var mission in missionVms)
            {
                var args = new GetHyperMissionStatusArgs()
                {
                    MissionId = mission.Mission.Id
                };


                var getMissionStatusTask = _netStore.ExecuteAsync(args);

                getMissionStatusTasks.Add(getMissionStatusTask);
                listRetrieveMissionStatusArgs.Add(
                    new Tuple <string, GetHyperMissionStatusArgs>(
                        mission.MissionId,
                        args
                        ));
            }

            await Task.WhenAll(getMissionStatusTasks.Select(x => x.AsTask()).ToList());

            foreach (var missionStatusArgs in listRetrieveMissionStatusArgs)
            {
                // TODO - better error handling
                if (missionStatusArgs.Item2.ExecutionResult.IsFailure)
                {
                    continue;
                }
                //throw new InvalidOperationException(retrieveAssetsArgs.ExecutionResult.ToString());

                HyperMissionInstanceStatus instance = missionStatusArgs.Item2.Result;

                var item = missionVms.FirstOrDefault(it => it.MissionId == missionStatusArgs.Item1);
                item.InstanceStatus      = instance;
                item.InstanceDescription = instance.ToString();

                item.Status = ManageMissionInstanseStatusStyle(instance);
            }

            missionVms = missionVms.OrderBy(it => it.Status).ToList();


            return(missionVms);
        }
        public static void UpdateMissionViewModel(this MissionViewModel viewModel, ClientFieldData[] clientFieldData)
        {
            if (viewModel == null)
            {
                viewModel = new MissionViewModel();
            }

            viewModel.UpdateMissionDocuments(clientFieldData);

            var hiddenOrgUnitOne = clientFieldData.FirstOrDefault(o => o.Name.Equals("orgUnitOneBool"));

            if (hiddenOrgUnitOne != null && hiddenOrgUnitOne.Value.Equals("true"))
            {
                var hiddenOrgUnitValue = clientFieldData.FirstOrDefault(o => o.Name.Equals("orgUnitOneValue"));
                viewModel.OrganizationalUnitId = Convert.ToInt32(hiddenOrgUnitValue.Value);
            }
            else
            {
                var organizationalUnit = clientFieldData.FirstOrDefault(o => o.Name.Equals("organizationalUnit"));
                if (organizationalUnit != null)
                {
                    viewModel.OrganizationalUnitId = Convert.ToInt32(organizationalUnit.Value.ToString());
                }
            }

            var hiddenIsNeededNewApproval = clientFieldData.FirstOrDefault(o => o.Name.Equals("hiddenSelectNeededNewApproval"));

            if (hiddenIsNeededNewApproval != null)
            {
                viewModel.IsNeededNewApproval = Convert.ToBoolean(hiddenIsNeededNewApproval.Value);
            }

            var hiddenIsNewMission = clientFieldData.FirstOrDefault(o => o.Name.Equals("hiddenIsNewMission"));

            if (hiddenIsNewMission != null)
            {
                viewModel.IsNewMission = Convert.ToBoolean(hiddenIsNewMission.Value);
            }

            var hiddenSelectUpdateActual = clientFieldData.FirstOrDefault(o => o.Name.Equals("hiddenSelectUpdateActual"));

            if (hiddenSelectUpdateActual != null)
            {
                viewModel.updateFieldActualActivity = Convert.ToBoolean(hiddenSelectUpdateActual.Value);
            }

            var hiddenMissionIdEdit = clientFieldData.FirstOrDefault(o => o.Name.Equals("hiddenMissionIdEdit"));

            if (hiddenMissionIdEdit != null)
            {
                viewModel.MissionId = Convert.ToInt32(hiddenMissionIdEdit.Value);
            }

            var type = clientFieldData.FirstOrDefault(o => o.Name.Equals("Type"));

            if (type != null)
            {
                viewModel.TypeId = Convert.ToInt32(type.Value);
            }

            var validatorCountry = clientFieldData.FirstOrDefault(o => o.Name.Equals("validatorCountry"));

            if (validatorCountry != null)
            {
                viewModel.CountryId = Convert.ToInt32(validatorCountry.Value);
            }

            var startDate = clientFieldData.FirstOrDefault(o => o.Name.Equals("dtStartDate"));

            if (startDate != null)
            {
                viewModel.StartDate = Convert.ToDateTime(startDate.Value.ToString());
            }

            var endDate = clientFieldData.FirstOrDefault(o => o.Name.Equals("dtEndDate"));

            if (endDate != null)
            {
                viewModel.EndDate = Convert.ToDateTime(endDate.Value.ToString());
            }

            if (viewModel.MissionId != 0)
            {
                // if missions equal zero then is a nuew mission, the status is draft and then setted in SaveMission Method
                var status = clientFieldData.FirstOrDefault(o => o.Name.Equals("status"));

                if (status != null)
                {
                    viewModel.Status = status.Value.ToString();
                }
            }

            var country = clientFieldData.FirstOrDefault(o => o.Name.Equals("country"));

            if (country != null)
            {
                viewModel.CountryId = Convert.ToInt32(country.Value.ToString());
            }

            //DetermineType(viewModel, clientFieldData);
            var objetives = clientFieldData.FirstOrDefault(o => o.Name.Equals("objetives"));

            if (objetives != null)
            {
                viewModel.Objective = objetives.Value.ToString().Trim();
            }

            var activities = clientFieldData.FirstOrDefault(o => o.Name.Equals("activities"));

            if (activities != null)
            {
                viewModel.Activities = activities.Value.ToString().Trim();
            }

            var membersOutside = clientFieldData.FirstOrDefault(o => o.Name.Equals("membersOutside"));

            if (membersOutside != null)
            {
                viewModel.MembersOutside = membersOutside.Value.ToString().Trim();
            }

            if (viewModel.IsNewMission)
            {
                //New
                //Mission Team
                if (viewModel.MissionLeader == null)
                {
                    viewModel.MissionLeader = new List <MissionTeamMemberViewModel>();
                }

                var membersTeam = clientFieldData.Where(o => o.Name.Equals("newTeamName"));
                if (membersTeam.Count() > 0)
                {
                    var membersRole = clientFieldData.Where(o => o.Name.Equals("newMissionRole"));
                    for (int i = 0; i < membersTeam.Count(); i++)
                    {
                        var teamMember = new MissionTeamMemberViewModel
                        {
                            NameId        = Convert.ToInt32(membersTeam.ElementAt(i).Value),
                            MissionRoleId = Convert.ToInt32(membersRole.ElementAt(i).Value),
                            isExpire      = false
                        };
                        viewModel.MissionLeader.Add(teamMember);
                    }
                }

                //mission contact
                if (viewModel.Contact == null)
                {
                    viewModel.Contact = new List <MissionContactViewModel>();
                }

                var contactName = clientFieldData.Where(o => o.Name.Equals("newCantactName"));
                if (contactName.Count() > 0)
                {
                    var institutionName    = clientFieldData.Where(o => o.Name.Equals("newInstitutionName"));
                    var contactInformation = clientFieldData.Where(o => o.Name.Equals("newCantactInformation"));
                    for (int i = 0; i < contactName.Count(); i++)
                    {
                        if (contactName.ElementAt(i).Value != " " || institutionName.ElementAt(i).Value != " ")
                        {
                            var contact = new MissionContactViewModel
                            {
                                ContactName        = (contactName.ElementAt(i).Value != " ") ? contactName.ElementAt(i).Value : null,
                                InstitutionId      = (institutionName.ElementAt(i).Value != " ") ? Convert.ToInt32(institutionName.ElementAt(i).Value) : 0,
                                ContactInformation = (contactInformation.ElementAt(i).Value != " ") ? contactInformation.ElementAt(i).Value : null
                            };
                            viewModel.Contact.Add(contact);
                        }
                    }
                }
            }
            else
            {
                //Edit
                //Mission member
                //New
                if (viewModel.MissionLeader == null)
                {
                    viewModel.MissionLeader = new List <MissionTeamMemberViewModel>();
                }

                var membersTeamNew = clientFieldData.Where(o => o.Name.Equals("newTeamName"));
                if (membersTeamNew.Count() > 0)
                {
                    var membersRoleNew = clientFieldData.Where(o => o.Name.Equals("newMissionRole"));
                    for (int i = 0; i < membersTeamNew.Count(); i++)
                    {
                        var teamMember = new MissionTeamMemberViewModel
                        {
                            NameId        = Convert.ToInt32(membersTeamNew.ElementAt(i).Value),
                            MissionRoleId = Convert.ToInt32(membersRoleNew.ElementAt(i).Value),
                            isExpire      = false
                        };
                        viewModel.MissionLeader.Add(teamMember);
                    }
                }

                //Update
                if (viewModel.EditMissionMember == null)
                {
                    viewModel.EditMissionMember = new List <MissionTeamMemberViewModel>();
                }

                var membersTeamIdEdit = clientFieldData.Where(o => o.Name.Equals("editTeamMemberId"));
                if (membersTeamIdEdit.Count() > 0)
                {
                    var membersTeamEdit    = clientFieldData.Where(o => o.Name.Equals("editTeamName"));
                    var membersRoleEdit    = clientFieldData.Where(o => o.Name.Equals("editMissionRole"));
                    var memberIsExpireEdit = clientFieldData.Where(o => o.Name.Equals("editIsExpire"));

                    for (int i = 0; i < membersTeamIdEdit.Count(); i++)
                    {
                        var teamMember = new MissionTeamMemberViewModel
                        {
                            MissionTeamMemberId = Convert.ToInt32(membersTeamIdEdit.ElementAt(i).Value),
                            NameId        = Convert.ToInt32(membersTeamEdit.ElementAt(i).Value),
                            MissionRoleId = Convert.ToInt32(membersRoleEdit.ElementAt(i).Value),
                            isExpire      = Convert.ToBoolean(memberIsExpireEdit.ElementAt(i).Value)
                        };
                        viewModel.EditMissionMember.Add(teamMember);
                    }
                }

                //Delete
                var deleteMembers = clientFieldData.FirstOrDefault(o => o.Name.Equals("deleteMissionTeam"));
                if (deleteMembers != null)
                {
                    string[] deleteMem = deleteMembers.Value.ToString().Split('|').Where(x => !string.IsNullOrEmpty(x)).ToArray();
                    if (viewModel.DeleteMissionMember == null)
                    {
                        viewModel.DeleteMissionMember = new List <int>();
                    }

                    foreach (string member in deleteMem)
                    {
                        viewModel.DeleteMissionMember.Add(Convert.ToInt32(member));
                    }
                }

                //Contact
                //New
                if (viewModel.Contact == null)
                {
                    viewModel.Contact = new List <MissionContactViewModel>();
                }

                var contactNameNew = clientFieldData.Where(o => o.Name.Equals("newCantactName"));
                if (contactNameNew.Count() > 0)
                {
                    var institutionNameNew    = clientFieldData.Where(o => o.Name.Equals("newInstitutionName"));
                    var contactInformationNew = clientFieldData.Where(o => o.Name.Equals("newCantactInformation"));
                    for (int i = 0; i < contactNameNew.Count(); i++)
                    {
                        if (contactNameNew.ElementAt(i).Value != " " || institutionNameNew.ElementAt(i).Value != " ")
                        {
                            var contact = new MissionContactViewModel
                            {
                                ContactName        = (contactNameNew.ElementAt(i).Value != " ") ? contactNameNew.ElementAt(i).Value : null,
                                InstitutionId      = (institutionNameNew.ElementAt(i).Value != " ") ? Convert.ToInt32(institutionNameNew.ElementAt(i).Value) : 0,
                                ContactInformation = (contactInformationNew.ElementAt(i).Value != " ") ? contactInformationNew.ElementAt(i).Value : null
                            };
                            viewModel.Contact.Add(contact);
                        }
                    }
                }

                //Update
                if (viewModel.EditContact == null)
                {
                    viewModel.EditContact = new List <MissionContactViewModel>();
                }

                var contactIdEdit = clientFieldData.Where(o => o.Name.Equals("editContactId"));
                if (contactIdEdit.Count() > 0)
                {
                    var contactNameEdit        = clientFieldData.Where(o => o.Name.Equals("contactName"));
                    var institutionNameEdit    = clientFieldData.Where(o => o.Name.Equals("SearchInstitutionName"));
                    var contactInformationEdit = clientFieldData.Where(o => o.Name.Equals("contactInformation"));
                    for (int i = 0; i < contactIdEdit.Count(); i++)
                    {
                        if (contactNameEdit.ElementAt(i).Value != " " || institutionNameEdit.ElementAt(i).Value != " ")
                        {
                            var contact = new MissionContactViewModel
                            {
                                MissionContactId   = Convert.ToInt32(contactIdEdit.ElementAt(i).Value),
                                ContactName        = (contactNameEdit.ElementAt(i).Value != " ") ? contactNameEdit.ElementAt(i).Value : null,
                                InstitutionId      = (institutionNameEdit.ElementAt(i).Value != " ") ? Convert.ToInt32(institutionNameEdit.ElementAt(i).Value) : 0,
                                ContactInformation = (contactInformationEdit.ElementAt(i).Value != " ") ? contactInformationEdit.ElementAt(i).Value : null
                            };
                            viewModel.EditContact.Add(contact);
                        }
                        else
                        {
                            var idContact = Convert.ToInt32(contactIdEdit.ElementAt(i).Value);
                            if (contactNameEdit.ElementAt(i).Value == " " && institutionNameEdit.ElementAt(i).Value == " " && idContact != 0)
                            {
                                if (viewModel.DeleteContacts == null)
                                {
                                    viewModel.DeleteContacts = new List <int>();
                                }

                                viewModel.DeleteContacts.Add(idContact);
                            }
                        }
                    }
                }

                //Delete
                var deleteContact = clientFieldData.FirstOrDefault(o => o.Name.Equals("deleteContacts"));
                if (deleteContact != null)
                {
                    string[] deleteC = deleteContact.Value.ToString().Split('|').Where(x => !string.IsNullOrEmpty(x)).ToArray();
                    if (viewModel.DeleteContacts == null)
                    {
                        viewModel.DeleteContacts = new List <int>();
                    }

                    foreach (string con in deleteC)
                    {
                        viewModel.DeleteContacts.Add(Convert.ToInt32(con));
                    }
                }
            }

            var isSaveOnly = clientFieldData.FirstOrDefault(o => o.Name.Equals("hiddenIsSaveOnly"));

            if (isSaveOnly != null)
            {
                bool result;
                bool.TryParse(isSaveOnly.Value, out result);

                viewModel.isSaveOnly = result;
            }
        }
        // GET: Marche/Details/5
        //prestataire
        public ActionResult Details_Participation(int id_marche)
        {   // fonction de vérification de presence du profil
            bool test(string str1, List <Models.viewmodel.Profil_cout_chargeVM> pc)
            {
                foreach (var it in pc)
                {
                    if (str1 == it.libelle)
                    {
                        return(true);
                    }
                }
                return(false);
            }

            var marche       = dbmetier.Marché.Find(id_marche);
            var listeMission = dbmetier.Missions.Where(a => a.id_marche_mission == id_marche).ToList();
            var Projet       = dbmetier.Projets.Where(a => a.id_projet == marche.id_projet_fk).FirstOrDefault();

            ViewBag.responsable = dbmetier.Responsable_marché.Where(r => r.id_responsable == marche.id_responsable_fk).FirstOrDefault();
            ViewBag.projet      = Projet;
            List <MissionViewModel> listmissionvm = new List <MissionViewModel>();
            MissionViewModel        element       = new MissionViewModel();;
            List <Models.viewmodel.Profil_cout_chargeVM> profilschrgelist = new List <Models.viewmodel.Profil_cout_chargeVM>();

            Models.viewmodel.Profil_cout_chargeVM profilchar = new Models.viewmodel.Profil_cout_chargeVM();
            foreach (var item in listeMission)
            {
                element = new MissionViewModel();
                element.libelle_mission    = item.libelle_mission;
                element.date_debut_mission = item.date_debut_mission;
                element.date_fin_mission   = item.date_fin_mission;
                element.domaine            = item.Domaine.libelle_domaine;

                List <Affectation_profils> liste_afectation = dbmetier.Affectation_profils.Where(a => a.id_mission_affectation == item.id_mission).ToList();
                profilschrgelist = new List <Models.viewmodel.Profil_cout_chargeVM>();
                foreach (var item2 in liste_afectation)
                {
                    profilchar = new Models.viewmodel.Profil_cout_chargeVM {
                        charge = (int)item2.charge_profil, libelle = item2.Profil.libelle_profil
                    };

                    profilschrgelist.Add(profilchar);
                }
                element.listeprofils = profilschrgelist;
                listmissionvm.Add(element);
            }



            var marcheviewmodel = new MarcheViewModel
            {
                id_marché    = marche.id_marché,
                date_debut   = marche.date_debut,
                matricule    = marche.matricule,
                date_fin     = marche.date_fin,
                Délai        = marche.Délai,
                budget_prevu = marche.budget_prevu,
                listMission  = listmissionvm
            };
            // une liste pour remplir le budget de participation
            List <Models.viewmodel.Profil_cout_chargeVM> liste_chargeparprofil        = new List <Models.viewmodel.Profil_cout_chargeVM>();
            List <Models.viewmodel.Profil_cout_chargeVM> liste_chargeparprofilnontrie = new List <Models.viewmodel.Profil_cout_chargeVM>();

            foreach (MissionViewModel smiya in marcheviewmodel.listMission)
            {
                liste_chargeparprofilnontrie.AddRange(smiya.listeprofils);
            }
            foreach (Models.viewmodel.Profil_cout_chargeVM elem in liste_chargeparprofilnontrie)
            {
                if (!test(elem.libelle, liste_chargeparprofil))
                {
                    liste_chargeparprofil.Add(new Models.viewmodel.Profil_cout_chargeVM {
                        libelle = elem.libelle, charge = elem.charge
                    });
                }
                else
                {
                    foreach (Models.viewmodel.Profil_cout_chargeVM pc in liste_chargeparprofil)
                    {
                        if (elem.libelle == pc.libelle)
                        {
                            pc.charge = elem.charge + pc.charge;
                        }
                    }
                }
            }
            ViewBag.liste_chargeparprofil = liste_chargeparprofil;



            return(View(marcheviewmodel));
        }
示例#28
0
 private void Window_Loaded(object sender, RoutedEventArgs e)
 {
     this.conn        = new Connection();
     this.model       = new MissionViewModel(new ANewDawn.Mission.Mission(conn));
     this.DataContext = this.model;
 }