public void SaveAnsweredPoll(MyTaskViewModel model, Guid idAccount, Guid idProfile, Guid idUser)
        {
            try
            {
                SaveBranchData(model, idAccount);
                CleanAnswers(model);

                foreach (var service in model.ServiceCollection)
                {
                    foreach (var serviceDetail in service.ServiceDetailCollection)
                    {
                        CreateAnswer(model, idAccount, serviceDetail);

                        if (serviceDetail.Sections != null)
                        {
                            foreach (var section in serviceDetail.Sections)
                            {
                                CreateAnswer(model, idAccount, section);
                            }
                        }
                    }
                }

                FinalizeTask(model, idAccount, idProfile, idUser);
            }
            catch (Exception ex)
            {
                string resultado = ex.Message;
                throw;
            }
        }
Exemplo n.º 2
0
        public MainPage()
        {
            InitializeComponent();

            this.TaskEntry.IsEnabled = false;
            this.TaskDate.IsEnabled  = false;
            this.ViewModel           = new MyTaskViewModel();
        }
Exemplo n.º 3
0
 public IActionResult DuplicateSection(MyTaskViewModel model)
 {
     //if (!ModelState.IsValid)
     //{
     //    return RedirectToAction("Profile", new { idTask = model.IdTask });
     //}
     // _serviceBusiness.DuplicateSection(model, ApplicationUserCurrent.AccountId);
     return(RedirectToAction("Register", new { idTask = model.IdTask }));
 }
Exemplo n.º 4
0
        public async Task <IActionResult> Create(MyTaskViewModel model, IFormFile[] uploadedFiles)
        {
            if (ModelState.IsValid)
            {
                TaskModelBL task = new TaskModelBL
                {
                    Name         = model.Name,
                    TargetDate   = model.TargetDate,
                    Details      = model.Details,
                    IsRepeating  = model.IsRepeating,
                    Multiplier   = model.Multiplier,
                    PeriodCode   = model.PeriodCode,
                    ParentTaskId = model.ParentTaskId,
                    files        = new List <FileModelBL>()
                };

                if (model.TaskСategoryId != 0)
                {
                    task.TaskСategoryId = model.TaskСategoryId;
                }

                if (model.TaskPriorityId != 0)
                {
                    task.TaskPriorityId = model.TaskPriorityId;
                }

                if (task.IsRepeating == true && task.Multiplier == null)
                {
                    task.Multiplier = 1;
                }

                foreach (IFormFile uploadedFile in uploadedFiles)
                {
                    using (var ms = new MemoryStream())
                    {
                        uploadedFile.CopyTo(ms);
                        var         fileBytes = ms.ToArray();
                        FileModelBL fl        = new FileModelBL
                        {
                            FileName    = uploadedFile.FileName,
                            ContentType = uploadedFile.ContentType,
                            Data        = fileBytes
                        };
                        task.files.Add(fl);
                    }
                }

                await _client.Post("api/mytask/create", task);

                return(RedirectToAction(nameof(Index)));
            }
            else
            {
                return(View(model));
            }
        }
Exemplo n.º 5
0
        public static Person FromMyTaskViewModel(MyTaskViewModel model, Person person)
        {
            person.Name     = model.BranchOwnerName;
            person.SurName  = string.Empty;
            person.Mobile   = model.BranchOwnerMobile;
            person.Phone    = model.BranchOwnerPhone;
            person.Document = model.BranchOwnerDocument;

            return(person);
        }
        private void SaveBranchData(MyTaskViewModel model, Guid idAccount)
        {
            var branch = _branchDao.GetOne(model.IdBranch, idAccount);
            var person = _personDao.GetOne(branch.IdPersonOwner);

            branch = ConvertBranch.FromMyTaskViewModel(model, branch);
            person = ConvertPerson.FromMyTaskViewModel(model, person);

            _branchDao.InsertOrUpdate(branch);
            _personDao.InsertOrUpdate(person);
        }
        public static Branch FromMyTaskViewModel(MyTaskViewModel model, Branch branch)
        {
            branch.Id              = model.IdBranch;
            branch.Code            = model.BranchMardisCode;
            branch.ExternalCode    = model.BranchExternalCode;
            branch.Name            = model.BranchName;
            branch.Label           = model.BranchLabel;
            branch.Reference       = model.BranchReference;
            branch.MainStreet      = model.BranchMainStreet;
            branch.SecundaryStreet = model.BranchSecundaryStreet;

            return(branch);
        }
        private MyTaskViewModel AnswerTheQuestionsFromTaskPoll(Guid idTask, MyTaskViewModel taskWithPoll)
        {
            var answers = _answerDao.GetAllAnswers(idTask);



            taskWithPoll.ServiceCollection.AsParallel()
            .ForAll(s =>
            {
                s.ServiceDetailCollection =
                    _serviceDetailBusiness.GetAnsweredSections(s.ServiceDetailCollection, answers);
            });
            return(taskWithPoll);
        }
        public bool AddSection(MyTaskViewModel model, Guid idAccount, Guid idProfile, Guid idUser, Guid idseccion)
        {
            SaveAnsweredPoll(model, idAccount, idProfile, idUser);

            var sections = _serviceDetailTaskBusiness.GetSections(model.IdTask, idseccion, idAccount);

            if (!sections.Any())
            {
                _serviceDetailTaskBusiness.AddSection(idseccion, model.IdTask);
                //model.ServiceCollection.Add(_serviceDetailTaskBusiness.AddSection(idseccion, model.IdTask).ServiceDetail);
            }

            _serviceDetailTaskBusiness.AddSection(idseccion, model.IdTask);
            return(true);
        }
        private Answer CreateAnswer(MyTaskViewModel model, Guid idAccount, MyTaskQuestionsViewModel question,
                                    MyTaskServicesDetailViewModel serviceDetail)
        {
            var answer = new Answer()
            {
                IdAccount       = idAccount,
                IdMerchant      = model.IdMerchant,
                IdQuestion      = question.Id,
                IdServiceDetail = serviceDetail.Id,
                IdTask          = model.IdTask,
                DateCreation    = DateTime.Now,
                StatusRegister  = CStatusRegister.Active
            };

            answer = _answerDao.InsertOrUpdate(answer);
            return(answer);
        }
        private void CreateAnswer(MyTaskViewModel model, Guid idAccount, MyTaskServicesDetailViewModel serviceDetail)
        {
            foreach (var question in serviceDetail.QuestionCollection)
            {
                if (question.IdQuestionDetail == Guid.Empty && string.IsNullOrEmpty(question.Answer))
                {
                    continue;
                }
                if (question.IdQuestionDetail != Guid.Empty ||
                    (question.CodeTypePoll == CTypePoll.Open && !string.IsNullOrEmpty(question.Answer)))
                {
                    var answer = //_answerDao.GetAnswerValueByQuestion(question.Id, model.IdTask, idAccount) ??
                                 CreateAnswer(model, idAccount, question, serviceDetail);

                    CreateAnswerDetail(answer, question);
                }
            }
        }
        private void FinalizeTask(MyTaskViewModel model, Guid idAccount, Guid idProfile, Guid idUser)
        {
            var profile = _profileDao.GetById(idProfile);

            switch (_typeUserBusiness.Get(profile.IdTypeUser).Name)
            {
            case CTypePerson.PersonMerchant:
            case CTypePerson.PersonSupervisor:
            case CTypePerson.PersonSystem:
                _taskCampaignDao.ImplementTask(model.IdTask, _statusTaskBusiness.GeStatusTaskByName(CTask.StatusImplemented).Id,
                                               idAccount);
                break;

            case CTypePerson.PersonValidator:
                _taskCampaignDao.ValidateTask(model.IdTask, _statusTaskBusiness.GeStatusTaskByName(CTask.StatusImplemented).Id,
                                              idAccount, idUser);
                break;
            }
        }
Exemplo n.º 13
0
        public IActionResult Index()
        {
            // 1. Get Data
            List <MyTask>          tasksList        = new List <MyTask>();
            List <MyTaskViewModel> tasksListForView = new List <MyTaskViewModel>();

            using (var session = DocumentStoreHolder.Store.OpenSession())
            {
                tasksList = session.Query <MyTask>().ToList();
            }

            // 2. Create Sample Data if does not exist yet
            if (tasksList.Count == 0)
            {
                using (var session = DocumentStoreHolder.Store.OpenSession())
                {
                    for (int i = 0; i < 5; i++)
                    {
                        string taskStr    = "Task number " + i.ToString();
                        var    sampleTask = new MyTask {
                            TaskToDo = taskStr
                        };
                        session.Store(sampleTask);

                        var SampleTaskForView = new MyTaskViewModel {
                            Name = "MyTasks", Id = i.ToString(), TaskToDo = taskStr
                        };
                        tasksListForView.Add(SampleTaskForView);
                    }
                    session.SaveChanges();
                }
            }
            else
            {
                // 3. Manage view model data
                tasksList.ForEach(x => tasksListForView.Add(new MyTaskViewModel {
                    Id = x.Id.Split('/')[1], Name = "MyTasks", TaskToDo = x.TaskToDo
                }));
            }

            return(View(tasksListForView));
        }
        private List <BranchImages> GetImagesTask(Guid idAccount, MyTaskViewModel taskWithPoll)
        {
            var images =
                _branchImageBusiness.GetBranchesImagesList(taskWithPoll.IdBranch, idAccount, taskWithPoll.IdCampaign);

            foreach (var service in taskWithPoll.ServiceCollection)
            {
                foreach (var section in service.ServiceDetailCollection)
                {
                    images.AddRange(
                        section.QuestionCollection.Where(
                            q => q.CodeTypePoll == CTypePoll.Image && !string.IsNullOrEmpty(q.Answer))
                        .Select(q => new BranchImages()
                    {
                        NameFile = q.Title,
                        UrlImage = q.Answer
                    })
                        );
                }
            }
            return(images);
        }
 private void CleanAnswers(MyTaskViewModel model)
 {
     Context.AnswerDetails.RemoveRange(Context.AnswerDetails.Where(a => a.Answer.IdTask == model.IdTask));
     Context.Answers.RemoveRange(Context.Answers.Where(a => a.IdTask == model.IdTask));
     Context.SaveChanges();
 }
Exemplo n.º 16
0
        public async Task <IActionResult> Update(int id)
        {
            TaskModelBL task = await _client.Get <TaskModelBL>("api/mytask/details/" + id.ToString());

            if (task == null)
            {
                return(NotFound());
            }
            MyTaskViewModel viewModel = new MyTaskViewModel
            {
                Id             = task.Id,
                Name           = task.Name,
                StartDate      = task.StartDate,
                TargetDate     = task.TargetDate,
                Details        = task.Details,
                IsRepeating    = task.IsRepeating,
                TaskСategoryId = task.TaskСategoryId,
                TaskPriorityId = task.TaskPriorityId,
                Multiplier     = task.Multiplier,
                PeriodCode     = task.PeriodCode,
                ParentTaskId   = task.ParentTaskId,
                TaskEditGrant  = task.EditGrant,
                IsFriendTask   = task.IsFriendTask
            };

            viewModel.files = new List <FileInfoViewModel>();
            foreach (FileModelBL fl in task.files)
            {
                viewModel.files.Add(new FileInfoViewModel()
                {
                    Id       = fl.Id,
                    FileName = fl.FileName
                });
            }

            TaskTagModelBL taskTag = await _client.Get <TaskTagModelBL>("api/tasktag/details/" + id.ToString());

            if (taskTag != null && task.Tags != null)
            {
                viewModel.Tags = new List <TagInfoViewModel>();
                foreach (TaskTagModelBL fl in task.Tags)
                {
                    viewModel.Tags.Add(new TagInfoViewModel()
                    {
                        Id   = fl.Id,
                        Name = fl.Name
                    });
                }
            }

            List <PeriodTypeModelBL> periodTypes = await _client.Get <List <PeriodTypeModelBL> >("api/periodtype");

            List <TaskCategoryModelBL> categories = await _client.Get <List <TaskCategoryModelBL> >("api/taskcategory");

            List <PriorityModelBL> priorities = await _client.Get <List <PriorityModelBL> >("api/priority");

            List <TaskModelBL> tasks = await _client.Get <List <TaskModelBL> >("api/mytask/list");

            viewModel.SubTasks = tasks.Where(t => t.ParentTaskId == task.Id)?.ToList();

            IEnumerable <UserFriendBL> friends = await _identityClient.Get <List <UserFriendBL> >("api/friends");

            IEnumerable <string> UserIds = task.UserIds;

            ViewBag.friendslist = friends.Where(fr => UserIds.Any(uid => uid == fr.UserId)).Select(f => f.Friend).ToList();

            categories.Insert(0, new TaskCategoryModelBL {
                Name = "", Id = 0
            });
            priorities.Insert(0, new PriorityModelBL {
                Name = "", Id = 0
            });


            ViewBag.Repeat     = new SelectList(periodTypes, "Id", "Name");
            ViewBag.Categories = new SelectList(categories, "Id", "Name");
            ViewBag.Priorities = new SelectList(priorities, "Id", "Name");

            return(View(viewModel));
        }
Exemplo n.º 17
0
        public async Task <IActionResult> Index(string start, string end, bool?delay, bool?completed, int categoryId, int priorityId, string pattern, int page = 1, string tagName = "")
        {
            IEnumerable <TaskModelBL> tasks = await _client.Get <List <TaskModelBL> >("api/mytask/list");

            List <MyTaskViewModel> viewModels = new List <MyTaskViewModel>();

            if (tasks != null)
            {
                foreach (var task in tasks)
                {
                    MyTaskViewModel viewModel = new MyTaskViewModel
                    {
                        Id             = task.Id,
                        Name           = task.Name,
                        StartDate      = task.StartDate,
                        TargetDate     = task.TargetDate,
                        EndDate        = task.EndDate,
                        Details        = task.Details,
                        IsRepeating    = task.IsRepeating,
                        TaskСategoryId = task.TaskСategoryId,
                        TaskPriorityId = task.TaskPriorityId,
                        ParentTaskId   = task.ParentTaskId,
                        files          = null,
                        IsFriendTask   = task.IsFriendTask
                    };
                    if (task.EndDate == null && completed != true)
                    {
                        viewModels.Add(viewModel);
                    }
                    if (task.EndDate != null && completed == true)
                    {
                        viewModels.Add(viewModel);
                    }

                    List <TaskTagModelBL> taskTag = await _client.Get <List <TaskTagModelBL> >("api/tasktag/fortask/" + task.Id.ToString());

                    if (taskTag != null)
                    {
                        viewModel.Tags = new List <TagInfoViewModel>();
                        foreach (TaskTagModelBL fl in taskTag)
                        {
                            viewModel.Tags.Add(new TagInfoViewModel()
                            {
                                Id   = fl.Id,
                                Name = fl.Name
                            });
                        }
                    }
                }
            }
            if (delay == true)
            {
                viewModels = _filterService.FilterTasksByDelay(viewModels);
            }
            if (start != null)
            {
                viewModels = _filterService.FilterTasksByDate(viewModels, start, end);
            }
            if (pattern != null && !pattern.Contains("#"))
            {
                viewModels = _filterService.FilterTasksByName(viewModels, pattern);
            }
            if (categoryId != 0)
            {
                viewModels = _filterService.FilterTasksByCategory(viewModels, categoryId);
            }
            if (priorityId != 0)
            {
                viewModels = _filterService.FilterTasksByPriority(viewModels, priorityId);
            }
            if (!string.IsNullOrEmpty(tagName) || (pattern != null && pattern.Contains("#")))
            {
                viewModels = _filterService.FilterTasksByTagName(viewModels, string.IsNullOrEmpty(tagName) ? pattern.Replace("#", "") : tagName);
            }

            List <TaskCategoryModelBL> categories = await _client.Get <List <TaskCategoryModelBL> >("api/taskcategory");

            List <PriorityModelBL> priorities = await _client.Get <List <PriorityModelBL> >("api/priority");

            categories.Insert(0, new TaskCategoryModelBL {
                Name = "", Id = 0
            });
            priorities.Insert(0, new PriorityModelBL {
                Name = "", Id = 0
            });

            ViewBag.Categories = new SelectList(categories, "Id", "Name");
            ViewBag.Priorities = new SelectList(priorities, "Id", "Name");

            PageMyTaskViewModel pageViewModel = new PageMyTaskViewModel(viewModels.Count, page, PageSize);

            IndexMyTaskViewModel indexViewModel = new IndexMyTaskViewModel()
            {
                MyTasks       = viewModels.Skip((page - 1) * PageSize).Take(PageSize).ToList(),
                PageViewModel = pageViewModel
            };

            if (start != null)
            {
                indexViewModel.StartDate = Convert.ToDateTime(start);
            }

            if (end != null)
            {
                indexViewModel.EndDate = Convert.ToDateTime(end);
            }

            if (delay != null)
            {
                indexViewModel.Delay = delay;
            }

            if (completed != null)
            {
                indexViewModel.Completed = completed;
            }

            if (pattern != null && !pattern.Contains("#"))
            {
                indexViewModel.Pattern = pattern;
            }

            if (categoryId != 0)
            {
                indexViewModel.CategoryId = categoryId;
            }

            if (priorityId != 0)
            {
                indexViewModel.PriorityId = priorityId;
            }

            return(View(indexViewModel));
        }
Exemplo n.º 18
0
 public void Post([FromBody] MyTaskViewModel value)
 {
 }
Exemplo n.º 19
0
 public MainPage()
 {
     InitializeComponent();
     this.ViewModel = new MyTaskViewModel();
 }
Exemplo n.º 20
0
 public ActionResult EditTask(MyTaskViewModel data)
 {
     _service.Edit(data);
     return(RedirectToAction("Index"));
 }
Exemplo n.º 21
0
        public async Task <ActionResult> Update(int id, IFormFile[] uploadedFiles, [FromForm] MyTaskViewModel model)
        {
            if (ModelState.IsValid)
            {
                TaskModelBL task = new TaskModelBL()
                {
                    Id           = id,
                    Name         = model.Name,
                    TargetDate   = model.TargetDate,
                    Details      = model.Details,
                    IsRepeating  = model.IsRepeating,
                    ParentTaskId = model.ParentTaskId,
                    Multiplier   = model.Multiplier,
                    PeriodCode   = model.PeriodCode
                };
                task.files = new List <FileModelBL>();

                if (model.files != null)
                {
                    foreach (FileInfoViewModel fl in model.files)
                    {
                        if (fl.Deleted == 0)
                        {
                            task.files.Add(new FileModelBL()
                            {
                                Id = fl.Id
                            });
                        }
                    }
                }

                foreach (IFormFile uploadedFile in uploadedFiles)
                {
                    using (var ms = new MemoryStream())
                    {
                        uploadedFile.CopyTo(ms);
                        var         fileBytes = ms.ToArray();
                        FileModelBL fl        = new FileModelBL
                        {
                            FileName    = uploadedFile.FileName,
                            ContentType = uploadedFile.ContentType,
                            Data        = fileBytes
                        };
                        task.files.Add(fl);
                    }
                }

                if (model.TaskСategoryId != 0)
                {
                    task.TaskСategoryId = model.TaskСategoryId;
                }

                if (model.TaskPriorityId != 0)
                {
                    task.TaskPriorityId = model.TaskPriorityId;
                }

                await _client.Put("api/mytask/update", id, task);

                return(RedirectToAction(nameof(Index)));
            }

            return(View(model));
        }