Example #1
0
        public async Task <IActionResult> ComponentModal(AJAXModel_Modal obj)
        {
            var existed = await _PM_ComponentService.GetById(obj.idrecord);

            if (existed == null)
            {
                existed = new PM_Component()
                {
                    Code        = "",
                    DateCreated = DateTime.Now,
                    DateEnd     = DateTime.Now,
                    DateStart   = DateTime.Now,
                    Description = "",
                    Id          = ObjectId.GenerateNewId().ToString(),
                    Label       = "",
                    Note        = "",
                    ParentId    = "0",
                    ProjectId   = obj.idsub,
                    Status      = 0,
                    Title       = ""
                };
            }

            //Danh sách mẫu
            var model = new PM_ComponentModal()
            {
                Select_ProjectComponents = await Select_ProjectComponent(existed.ProjectId, existed.ParentId),
                Select_ProjectStatus     = Select_ProjectStatus(existed.Status.ToString()),
                Data       = existed,
                Data_Modal = obj
            };

            return(PartialView(model));
        }
Example #2
0
        private async Task <MessageReport> SendMessageProject(PM_Project project, PM_Component component)
        {
            var result = new MessageReport(false, "error");

            try
            {
                //Lấy danh sách người dùng liên quan tới component + người tạo dự án
                var users = await GetUserInvolved(component.Id);

                users.Add(project.UserCreatedId);

                //Lấy Players
                var players = await _OS_PlayerService.GetPlayerIdsByUserIds(users);

                //Gửi
                var model = new OneSignalrMessage()
                {
                    Id          = "",
                    Title       = string.Format("Dự án: {0}", project.Title),
                    Description = string.Format("Nhắc nhở hoàn thành Component: {0}", component.Code),
                    UserIds     = "",
                    PlayerIds   = players.Select(n => n.PlayerId).ToArray(),
                    View        = "HomePage"
                };

                result = await _OS_PlayerService.SendMessage(model);
            }
            catch (System.Exception ex)
            {
                result = new MessageReport(false, ex.Message);
            }

            return(result);
        }
Example #3
0
        public async Task <MessageReport> Update(PM_Component model)
        {
            var query = new StringBuilder();

            query.AppendLine("{");
            query.AppendLine("'_id': { '$eq': '" + model.Id + "' }");
            query.AppendLine("}");

            return(await _PM_ComponentRepository.Update(MongoHelper.ConvertQueryStringToDocument(query.ToString()), model));
        }
Example #4
0
        private async Task <int> GetChildByComponent(PM_Component obj)
        {
            var query = new StringBuilder();

            query.AppendLine("{");

            query.AppendLine("'ParentId': { '$eq': '" + obj.Id + "' }");

            query.AppendLine("}");

            var k = await _PM_ComponentRepository.GetCollection();

            var update = Builders <PM_Component> .Update
                         .Set(p => p.ParentId, obj.ParentId);

            var a = await k.UpdateManyAsync(MongoHelper.ConvertQueryStringToDocument(query.ToString()), update);

            return(1);
        }
Example #5
0
        public async Task <PM_Component_Submit> GetCustomByModel(PM_Component model)
        {
            var obj = new PM_Component_Submit()
            {
                Id          = model.Id,
                ParentId    = model.ParentId,
                Title       = model.Title,
                Code        = model.Code,
                DateCreated = model.DateCreated,
                DateEnd     = model.DateEnd,
                DateStart   = model.DateStart,
                Description = model.Description,
                Label       = model.Label,
                Note        = model.Note,
                ProjectId   = model.ProjectId,
                Status      = model.Status
            };

            return(await Task.FromResult(obj));
        }
Example #6
0
 public async Task <MessageReport> Create(PM_Component model)
 {
     return(await _PM_ComponentRepository.Add(model));
 }
Example #7
0
 private async Task RemoveSchedule(PM_Component model)
 {
     await _ReminderService.RemoveSchedule(model.Id, "project");
 }
Example #8
0
 private async Task RegisterSchedule(PM_Component model)
 {
     await _ReminderService.RegisterSchedule(model.Id, "project", model.DateEnd.AddMinutes(-15).ToString("yyyy/MM/dd HH:mm:ss"), string.Format("Nhắc nhở check hoàn thành component: {0}", model.Code));
 }
Example #9
0
 private async Task ReRegisterSchedule(PM_Component model)
 {
     await RemoveSchedule(model);
     await RegisterSchedule(model);
 }
Example #10
0
        public async Task <IActionResult> ComponentSubmit(PM_ComponentAjax model)
        {
            var result = new MessageReport(false, "Có lỗi xảy ra");

            try
            {
                //Kiểm tra đã điền
                if (string.IsNullOrWhiteSpace(model.Code))
                {
                    result = new MessageReport(false, "Mã component không được để trống");
                    return(Json(result));
                }

                if (string.IsNullOrWhiteSpace(model.Title))
                {
                    result = new MessageReport(false, "Tên component không được để trống");
                    return(Json(result));
                }

                //Kiểm tra có tồn tại
                var existed = await _PM_ComponentService.GetById(model.ComponentId);

                if (existed == null)
                {
                    //Kiểm tra
                    var existedCodeInProject = await _PM_ComponentService.GetByCode(model.ProjectId, model.Code);

                    if (existedCodeInProject != null)
                    {
                        result = new MessageReport(false, "Mã hiệu đã tồn tại trong dự án");
                        return(Json(result));
                    }

                    //Thêm mới
                    existed = new PM_Component()
                    {
                        Code        = model.Code,
                        DateCreated = DateTime.Now,
                        DateEnd     = Convert.ToDateTime(model.DateEnd),
                        DateStart   = Convert.ToDateTime(model.DateStart),
                        Description = model.Description,
                        Id          = model.ComponentId,
                        Label       = "",
                        Note        = model.Note,
                        ParentId    = model.ParentId,
                        ProjectId   = model.ProjectId,
                        Status      = Convert.ToInt32(model.Status),
                        Title       = model.Title
                    };

                    result = await _PM_ComponentService.Create(existed);

                    if (result.isSuccess)
                    {
                        RegisterSchedule(existed);
                    }
                }
                else
                {
                    //Kiểm tra
                    var existedCodeInProject = await _PM_ComponentService.GetByCode(model.ProjectId, model.Code);

                    if (existedCodeInProject != null && existedCodeInProject.Id != model.ComponentId)
                    {
                        result = new MessageReport(false, "Mã hiệu đã tồn tại trong dự án");
                        return(Json(result));
                    }

                    //Cập nhật
                    existed.Note        = model.Note;
                    existed.ParentId    = model.ParentId;
                    existed.Status      = Convert.ToInt32(model.Status);
                    existed.Title       = model.Title;
                    existed.Description = model.Description;
                    existed.DateEnd     = Convert.ToDateTime(model.DateEnd);
                    existed.DateStart   = Convert.ToDateTime(model.DateStart);

                    result = await _PM_ComponentService.Update(existed);

                    if (result.isSuccess)
                    {
                        ReRegisterSchedule(existed);
                    }
                }
            }
            catch (Exception ex)
            {
                result = new MessageReport(false, ex.Message);
            }

            return(Json(result));
        }