示例#1
0
        public async Task EditActivityAsync_CorrectUpdateOnContext(
            string teacher, string room, string subject, string classGroup)
        {
            using var context = PrepareData.GetDbContext(); var activity = context.Activities.Include(a => a.Slot).FirstOrDefault();
            int id          = activity.Id;
            int slot        = activity.Slot.Index;
            var activityDTO = new ActivityEditDTO()
            {
                Id         = id,
                ClassGroup = classGroup,
                Room       = room,
                Slot       = slot,
                Subject    = subject,
                Teacher    = teacher
            };
            var service = new ActivitiesService(context);
            var value   = await service.EditActivityAsync(activity.Id, activityDTO);

            var activityToCheck = GetActivities(context).FirstOrDefault(
                a =>
                a.Id == id &&
                a.Teacher.Name == teacher &&
                a.Room.Name == room &&
                a.Subject.Name == subject &&
                a.ClassGroup.Name == classGroup
                );

            Assert.True(value.IsRight);
            Assert.NotNull(activityToCheck);
        }
示例#2
0
        public async Task <IActionResult> CreateVotingHeader(VotingHeaderVM VH)
        {
            SAPEntity.Instance.InitializeCompany();
            if (SAPEntity.Company.Connected)
            {
                ActivitiesService oActSrv = (ActivitiesService)SAPEntity.Company.GetCompanyService().GetBusinessService(ServiceTypes.ActivitiesService);
                Activity          oAct    = (Activity)oActSrv.GetDataInterface(ActivitiesServiceDataInterfaces.asActivity);
                ActivityParams    oParams;
                oAct.CardCode         = VH.cardcode;
                oAct.Activity         = BoActivities.cn_Task;
                oAct.ActivityType     = 1;
                oAct.PreviousActivity = VH.prevactvty;
                //oAct.Subject = VH.subject;
                DateTime StartDate = DateTime.ParseExact(VH.str_startdate, "dd/MM/yyyy", null).Date;
                DateTime CloseDate = DateTime.ParseExact(VH.str_enddate, "dd/MM/yyyy", null).Date;



                oAct.ActivityDate = StartDate.Date;
                //oAct.EndDuedate = CloseDate;
                oAct.Duration     = (CloseDate - StartDate).TotalDays;
                oAct.DurationType = BoDurations.du_Days;
                if (!String.IsNullOrEmpty(VH.time))
                {
                    oAct.UserFields.Item("U_Time").Value = VH.time;
                }
                if (!String.IsNullOrEmpty(VH.opentime))
                {
                    oAct.UserFields.Item("U_OpenTime").Value = VH.opentime;
                }

                oAct.UserFields.Item("U_AddedBy").Value = User.Identity.Name;

                oAct.Notes = VH.remark;
                oParams    = oActSrv.AddActivity(oAct);
                long singleActCode = oParams.ActivityCode;
                if (singleActCode > 0)
                {
                    //-----Email Notification
                    var VOTERS = await _UserManager.GetUsersInRoleAsync("VOTER");

                    string[] VOTERStr       = VOTERS.Select(t => t.Email).Distinct().ToArray();
                    string   voteremails    = String.Join(",", VOTERStr);
                    var      VOTINGMANAGERS = await _UserManager.GetUsersInRoleAsync("VOTINGMANAGER");

                    VOTERStr    = VOTINGMANAGERS.Select(t => t.Email).Distinct().ToArray();
                    voteremails = voteremails + "," + String.Join(",", VOTERStr);
                    _EmailRepo.SaveEmailLog(singleActCode, oAct.CardCode, StartDate.Date, CloseDate, voteremails, User.Identity.Name, VH.prevactvty);
                    //-----Email Notification

                    return(StatusCode(201));
                }
            }
            else
            {
                return(BadRequest("SAP connection failed."));
            }

            return(BadRequest("incorrect inputs provided."));
        }
示例#3
0
        public async Task CreateActivityAsync_CorrectUpdateOnContext(
            string teacher, string room, string subject, string classGroup, int slot)
        {
            using var context = PrepareData.GetDbContext(); var activityDTO = new ActivityCreateDTO()
            {
                ClassGroup = classGroup,
                Room       = room,
                Slot       = slot,
                Subject    = subject,
                Teacher    = teacher
            };
            var service = new ActivitiesService(context);
            var value   = await service.CreateActivityAsync(activityDTO);

            var activity = GetActivities(context).FirstOrDefault(
                a => a.Teacher.Name == teacher &&
                a.Subject.Name == subject &&
                a.Slot.Index == slot &&
                a.Room.Name == room &&
                a.ClassGroup.Name == classGroup
                );

            Assert.True(value.IsRight);
            Assert.NotNull(activity);
        }
示例#4
0
        public static bool getActToXML(Company myCompany)
        {
            if (myCompany != null && myCompany.Connected)
            {
                //metodo precedente all'introduzione del CRM in sap
                ActivitiesService acts  = myCompany.GetCompanyService().GetBusinessService(ServiceTypes.ActivitiesService) as ActivitiesService;
                Activity          myAct = acts.GetDataInterface(ActivitiesServiceDataInterfaces.asActivity);

                //get dei dati
                string    TodayDateQuery = DateTime.Now.ToString("yyyy-MM-dd");
                Recordset RecSet         = myCompany.GetBusinessObject(BoObjectTypes.BoRecordset);
                RecSet.DoQuery("select * from \"OCLG\",\"DUMMY\" WHERE \"CntctDate\"= TO_TIMESTAMP ('" + TodayDateQuery + " 00:00:00', 'YYYY-MM-DD HH24:MI:SS')");


                string pathToXml = Path.GetDirectoryName(Application.ExecutablePath);
                string TodayDate = DateTime.Now.ToString("dd-MM-yyyy");

                RecSet.SaveXML(TodayDate + "_activities.xml");
                MessageBox.Show("File saved in '" + pathToXml + "' ", "Export to XML", MessageBoxButtons.OK, MessageBoxIcon.Information);

                /*
                 * var o = RecSet.RecordCount;
                 * while (!RecSet.EoF)
                 * {
                 *  var CardCode = RecSet.Fields.Item("CardCode");
                 *  RecSet.MoveNext();
                 * }
                 */
                return(true);
            }
            else
            {
                return(false);
            }
        }
示例#5
0
        public async Task GetActivityByGroupAsync_GiveIncorrectId_GetError(int id)
        {
            using var context = PrepareData.GetDbContext(); var service = new ActivitiesService(context);
            var test = await service.GetActivity(id);

            Assert.True(test.IsLeft);
        }
        public AppointmentsController()
        {
            UnitOfWork unitOfWork = new UnitOfWork();

            this.appointmentsService = new AppointmentsService(new ModelStateWrapper(this.ModelState), unitOfWork);
            this.activitiesService   = new ActivitiesService(new ModelStateWrapper(this.ModelState), unitOfWork);
        }
示例#7
0
        public async Task EditActivityAsync_WhenActivityDTOIsNull_CheckErrorOccured()
        {
            using var context = PrepareData.GetDbContext(); var service = new ActivitiesService(context);
            var value = await service.EditActivityAsync(1, null);

            Assert.True(value.IsLeft);
        }
示例#8
0
        public async Task DeleteActivityAsync_CheckErrorOccured(int id)
        {
            using var context = PrepareData.GetDbContext(); var service = new ActivitiesService(context);
            var value = await service.DeleteActivityAsync(id, null);

            Assert.True(value.IsLeft);
        }
示例#9
0
        public async Task CreateActivityAsync_WhenOneOfValuesIsOccupied_CheckErrorOccured(
            string teacher, string room, string subject, string classGroup, int slot)
        {
            using var context = PrepareData.GetDbContext(); var service = new ActivitiesService(context);
            var value = await service.CreateActivityAsync(GetDTOToCreate(teacher, room, subject, classGroup, slot));

            Assert.True(value.IsLeft);
        }
示例#10
0
        public async Task EditActivityAsync_WhenOneOfValuesIsOccupied_CheckErrorOccured(
            string teacher, string room, string subject, string classGroup)
        {
            using var context = PrepareData.GetDbContext(); var activityDTO = GetDTOToEdit(teacher, room, subject, classGroup, context);
            var service = new ActivitiesService(context);
            var value   = await service.EditActivityAsync(activityDTO.Id, activityDTO);

            Assert.True(value.IsLeft);
        }
        public Result <IList <Activities> > Get(string userName)
        {
            var result        = new Result <IList <Activities> >();
            var lstActivities = ActivitiesService.Get(userName);

            result.Value     = (IList <Activities>)lstActivities;
            result.IsSuccess = true;
            return(result);
        }
示例#12
0
        /// <summary>
        /// 判断活动名额是否已满
        /// </summary>
        /// <param name="guid">活动ID</param>
        /// <returns></returns>
        public bool isBookMax(string guid)
        {
            ActivitiesService eventSerivce = new ActivitiesService();
            bool result           = false;
            var  booktimeRegister = eventSerivce.GenericService.GetModel(guid);
            var  teamRegister     = GenericService.GetAll(p => p.NY_EventSolicitationID == guid).ToList();
            int  MaxCount         = booktimeRegister.MaxPersonCount;
            int  UsedMaxCOunt     = teamRegister.Count;

            if (teamRegister.Count >= MaxCount)
            {
                result = true;
            }
            return(result);
        }
        public async Task GetActivityAsync_ReturnCorrectDTO()
        {
            using var context = PrepareData.GetDbContext();
            var service     = new ActivitiesService(context);
            var activity    = GetActivities(context).FirstOrDefault();
            var activityDTO = await service.GetActivity(activity.Id);

            Assert.True(activityDTO.IsRight);
            activityDTO.IfRight(r => {
                Assert.Equal(activity.Id, r.Id);
                Assert.Equal(activity.Room.Name, r.Room);
                Assert.Equal(activity.Slot.Index, r.Slot);
                Assert.Equal(activity.Subject.Name, r.Subject);
                Assert.Equal(activity.Teacher.Name, r.Teacher);
                Assert.Equal(activity.ClassGroup.Name, r.ClassGroup);
            });
        }
示例#14
0
        public async Task DeleteActivityAsync_CorrectUpdateOnContext(
            int slot, string classgroup, string teacher, string room)
        {
            using var context = PrepareData.GetDbContext(); var activityToDelete = GetActivities(context).FirstOrDefault(
                a => a.Slot.Index == slot &&
                a.Room.Name == room &&
                a.Teacher.Name == teacher &&
                a.ClassGroup.Name == classgroup
                );
            var service = new ActivitiesService(context);
            var value   = await service.DeleteActivityAsync(activityToDelete.Id, activityToDelete.Timestamp);

            var activity = context.Activities.FirstOrDefault(a => a.Id == activityToDelete.Id);

            Assert.Null(activity);
            Assert.True(value.IsRight);
        }
        //// POST: api/Activities
        //[HttpPost]
        public Result Add(Activities activity)
        {
            var result = new Result();

            try
            {
                ActivitiesService.Add(activity.ActivityTypeValue, activity.EntryType, activity.SourceType,
                                      activity.UserName, string.Empty, activity.HostName);
                result.IsSuccess = true;
            }
            catch (Exception exception)
            {
                result.IsSuccess = false;
                //result.ExceptionInfo = new ExceptionInfo(exception);
            }

            return(result);
        }
 public ActivitiesController()
 {
     this.activitiesService = new ActivitiesService(new ModelStateWrapper(this.ModelState), new UnitOfWork());
 }
示例#17
0
        public async Task <IActionResult> CreateSingleActivity(singlecomplianceviewmodel VM)
        {
            string strMessage = "incorrect inputs provided.";
            bool   IsCreate   = true;

            try
            {
                int IsAttchInserted = -1;
                SAPEntity.Instance.InitializeCompany();
                if (SAPEntity.Company.Connected)
                {
                    ActivitiesService oActSrv = (ActivitiesService)SAPEntity.Company.GetCompanyService().GetBusinessService(ServiceTypes.ActivitiesService);
                    Activity          oAct    = (Activity)oActSrv.GetDataInterface(ActivitiesServiceDataInterfaces.asActivity);
                    ActivityParams    oParams;
                    if (VM.clgcode > 0)
                    {
                        IsCreate             = false;
                        oParams              = (ActivityParams)oActSrv.GetDataInterface(ActivitiesServiceDataInterfaces.asActivityParams);
                        oParams.ActivityCode = VM.clgcode;
                        oAct = oActSrv.GetActivity(oParams);
                    }
                    oAct.CardCode = VM.cardcode;
                    if (VM.cntctcode > 0)
                    {
                        oAct.ContactPersonCode = VM.cntctcode;
                    }

                    oAct.Activity     = BoActivities.cn_Task;
                    oAct.ActivityType = VM.type;
                    oAct.Subject      = VM.subject;
                    if (VM.assignesto.HasValue && VM.assignesto.Value > 0)
                    {
                        oAct.HandledBy = VM.assignesto.Value;
                    }
                    oAct.Status   = VM.status;
                    oAct.Priority = VM.prcode == "0" ? BoMsgPriorities.pr_Low : VM.prcode == "1" ? BoMsgPriorities.pr_Normal : BoMsgPriorities.pr_High;
                    oAct.Details  = VM.details;
                    oAct.Notes    = VM.notes;
                    if (!string.IsNullOrEmpty(VM.str_startdate))
                    {
                        DateTime StartDate = DateTime.ParseExact(VM.str_startdate, "dd/MM/yyyy", null);
                        DateTime CloseDate = DateTime.ParseExact(VM.str_enddate, "dd/MM/yyyy", null);
                        oAct.ActivityDate = StartDate;
                        oAct.Duration     = (CloseDate - StartDate).TotalDays;
                        oAct.DurationType = BoDurations.du_Days;
                    }
                    if (VM.files != null && VM.files.Count() > 0)
                    {
                        SAPbobsCOM.Attachments2 SAPAttachment = (SAPbobsCOM.Attachments2)SAPEntity.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oAttachments2);
                        foreach (var FL in VM.files)
                        {
                            if (!string.IsNullOrEmpty(FL))
                            {
                                SAPAttachment.Lines.SetCurrentLine((SAPAttachment.Lines.Count) - 1);
                                string FileName = System.IO.Path.GetFileName(FL);
                                string FileExt  = System.IO.Path.GetExtension(FileName);
                                FileExt = FileExt.Replace('.', ' ').Trim();
                                SAPAttachment.Lines.SourcePath    = @"H:\Upload";
                                SAPAttachment.Lines.FileName      = FileName;
                                SAPAttachment.Lines.FileExtension = Path.GetExtension(FileExt);
                                SAPAttachment.Lines.Add();
                            }
                        }

                        if (VM.files.Count() > 0)
                        {
                            IsAttchInserted = SAPAttachment.Add();
                            if (IsAttchInserted == 0)
                            {
                                string ObjCode;
                                SAPEntity.Company.GetNewObjectCode(out ObjCode);
                                oAct.AttachmentEntry = Convert.ToInt32(ObjCode);
                            }
                            else
                            {
                                strMessage = SAPEntity.Company.GetLastErrorDescription();
                            }
                        }
                    }

                    if (IsCreate)
                    {
                        oAct.UserFields.Item("U_AddedBy").Value = User.Identity.Name;
                        oParams = oActSrv.AddActivity(oAct);
                        long singleActCode = oParams.ActivityCode;
                        if (singleActCode > 0)
                        {
                            return(StatusCode(201));
                        }

                        else
                        {
                            strMessage = SAPEntity.Company.GetLastErrorDescription();
                        }
                    }
                    else
                    {
                        oAct.UserFields.Item("U_UpdatedBy").Value = User.Identity.Name;
                        oActSrv.UpdateActivity(oAct);
                        strMessage = SAPEntity.Company.GetLastErrorDescription();
                        if (!string.IsNullOrWhiteSpace(strMessage))
                        {
                            return(BadRequest(strMessage));
                        }
                        else
                        {
                            return(StatusCode(201));
                        }
                    }
                }
            }
            catch (Exception E)
            {
                var tt = E.Message;
            }

            return(BadRequest(strMessage));
        }
示例#18
0
        public ActivityController()
        {
            var unitOfWork = new EFUnitOfWork();

            _ActivityService = new ActivitiesService(unitOfWork);
        }
示例#19
0
        public async Task <IActionResult> CreateBoardMeeting(MeetingVM VM)
        {
            int    IsAttchInserted = -1;
            string strMessage      = "incorrect inputs provided.";

            SAPEntity.Instance.InitializeCompany();
            if (SAPEntity.Company.Connected)
            {
                ActivitiesService oActSrv = (ActivitiesService)SAPEntity.Company.GetCompanyService().GetBusinessService(ServiceTypes.ActivitiesService);
                Activity          oAct    = (Activity)oActSrv.GetDataInterface(ActivitiesServiceDataInterfaces.asActivity);
                ActivityParams    oParams;
                oAct.CardCode     = VM.cardcode;
                oAct.Activity     = BoActivities.cn_Task;
                oAct.ActivityType = 2;

                if (VM.cntctcode > 0)
                {
                    oAct.ContactPersonCode = VM.cntctcode;
                }

                DateTime StartDate = DateTime.ParseExact(VM.str_startdate, "dd/MM/yyyy", null);
                DateTime CloseDate = DateTime.ParseExact(VM.str_enddate, "dd/MM/yyyy", null);

                oAct.ActivityDate = StartDate;
                oAct.Duration     = (CloseDate - StartDate).TotalDays;
                oAct.DurationType = BoDurations.du_Days;
                if (!String.IsNullOrEmpty(VM.time))
                {
                    oAct.UserFields.Item("U_Time").Value = VM.time;
                }
                if (VM.assignesto.HasValue && VM.assignesto.Value > 0)
                {
                    oAct.HandledBy = VM.assignesto.Value;
                }
                oAct.Notes   = VM.notes;
                oAct.Details = VM.details;

                if (VM.files != null && VM.files.Count() > 0)
                {
                    SAPbobsCOM.Attachments2 SAPAttachment = (SAPbobsCOM.Attachments2)SAPEntity.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oAttachments2);
                    foreach (var FL in VM.files)
                    {
                        if (!string.IsNullOrEmpty(FL))
                        {
                            SAPAttachment.Lines.SetCurrentLine((SAPAttachment.Lines.Count) - 1);
                            string FileName = System.IO.Path.GetFileName(FL);
                            string FileExt  = System.IO.Path.GetExtension(FileName);
                            FileExt = FileExt.Replace('.', ' ').Trim();
                            SAPAttachment.Lines.SourcePath    = @"H:\Upload";
                            SAPAttachment.Lines.FileName      = FileName;
                            SAPAttachment.Lines.FileExtension = Path.GetExtension(FileExt);
                            SAPAttachment.Lines.Add();
                        }
                    }

                    if (VM.files.Count() > 0)
                    {
                        IsAttchInserted = SAPAttachment.Add();
                        if (IsAttchInserted == 0)
                        {
                            string ObjCode;
                            SAPEntity.Company.GetNewObjectCode(out ObjCode);
                            oAct.AttachmentEntry = Convert.ToInt32(ObjCode);
                        }
                        else
                        {
                            strMessage = SAPEntity.Company.GetLastErrorDescription();
                        }
                    }
                }


                oParams = oActSrv.AddActivity(oAct);
                long singleActCode = oParams.ActivityCode;
                if (singleActCode > 0)
                {
                    return(StatusCode(201));
                }
            }

            return(BadRequest("incorrect inputs provided."));
        }