Exemple #1
0
        static void Main(string[] args)
        {
            CalendarWork    working_calendar         = new CalendarWork();
            CalendarService working_calendar_service = working_calendar.SetUpAccess();
            var             list       = working_calendar_service.CalendarList.List().Execute();
            var             cal_to_use = list.Items.SingleOrDefault(c => c.Summary == "*****@*****.**");//needs true user handle

            //Calendar tadocal = working_calendar.CreateTaDoCalendar();
            //working_calendar.insert_calendar_trial( working_calendar_service, tadocal );
            //working_calendar.RequestAListOfEvents(working_calendar_service, "primary");//list of next 20 events from primary calendar
            //working_calendar.RequestAListOfEvents(working_calendar_service, tadocal.Id);//fails

            //***some user interrupt has resulted in entering quick-input/to-do string...simulated by this prompt:
            Console.WriteLine("What's your Ta-Do?");

            HopperNode newtado = new HopperNode(Console.ReadLine());
            Event      myevent = working_calendar.CreateEvent(newtado);

            working_calendar.AddEventToCalendar(working_calendar_service, myevent, cal_to_use.Id);

            //working_calendar.insert_event_trial(working_calendar_service, newtado);
        }
Exemple #2
0
        public CheckInResult CheckIn(string user, string token, string agencyId)
        {
            var log = new MongoHistoryAPI()
            {
                APIUrl     = "/api/calendar/checkin",
                CreateTime = DateTime.Now,
                Sucess     = 1
            };

            var result = new CheckInResult()
            {
                id  = "1",
                msg = "success"
            };

            try
            {
                if (!mongoHelper.checkLoginSession(user, token))
                {
                    throw new Exception(MRes.MSG_WRONG_TOKEN);
                }

                var checkStaff = db.MStaffs.Where(p => p.MUser == user).FirstOrDefault();

                if (checkStaff == null)
                {
                    throw new Exception("Sai thông tin");
                }


                var checkAgency = db.MAgencies.Find(agencyId);

                if (checkAgency == null)
                {
                    throw new Exception("Sai đại lý");
                }

                var dateCode = DateTime.Now.ToString("ddMMyyyy");

                var checkWork = db.CalendarWorks.Where(p => p.AgencyId == agencyId && p.StaffId == checkStaff.Id && p.CDate == dateCode).FirstOrDefault();

                if (checkWork == null)
                {
                    var work = new CalendarWork()
                    {
                        AgencyId   = agencyId,
                        CDate      = dateCode,
                        CDay       = DateTime.Now.Day,
                        ChangeTime = DateTime.Now,
                        CMonth     = DateTime.Now.Month,
                        CountWork  = 1,
                        CYear      = DateTime.Now.Year,
                        FistTime   = DateTime.Now,
                        Id         = Guid.NewGuid().ToString(),
                        Perform    = 0,
                        StaffId    = checkStaff.Id,
                        DayOfWeek  = mapDayOfWeeks[DateTime.Now.DayOfWeek]
                    };

                    db.CalendarWorks.Add(work);
                    db.SaveChanges();

                    result.perform = 0;
                    result.workId  = work.Id;
                    result.des     = "Ghé thăm lúc " + DateTime.Now.ToString("HH:mm") + " ngày " + DateTime.Now.ToString("dd/MM/yyyy");
                }
                else
                {
                    result.perform = checkWork.Perform;
                    result.workId  = checkWork.Id;

                    result.des = "Ghé thăm giần nhất lúc " + checkWork.ChangeTime.Value.ToString("HH:mm") + " ngày " + checkWork.ChangeTime.Value.ToString("dd/MM/yyyy");

                    checkWork.ChangeTime = DateTime.Now;

                    db.Entry(checkWork).State = System.Data.Entity.EntityState.Modified;
                    db.SaveChanges();
                }
            }
            catch (Exception e)
            {
                result.id  = "0";
                result.msg = e.Message;
                log.Sucess = 0;
            }

            log.ReturnInfo = new JavaScriptSerializer().Serialize(result);

            mongoHelper.createHistoryAPI(log);

            return(result);
        }
Exemple #3
0
        public ResultInfo CheckInOutPlan()
        {
            var log = new MongoHistoryAPI()
            {
                APIUrl     = "/api/checkin/checkinoutplan",
                CreateTime = DateTime.Now,
                Sucess     = 1
            };

            var result = new ResultInfo()
            {
                id  = "1",
                msg = "success"
            };
            var requestContent = Request.Content.ReadAsStringAsync().Result;

            try
            {
                var jsonserializer = new JavaScriptSerializer();
                var paser          = jsonserializer.Deserialize <CheckInOutPlanRequest>(requestContent);
                log.Content = new JavaScriptSerializer().Serialize(paser);

                if (!mongoHelper.checkLoginSession(paser.user, paser.token))
                {
                    throw new Exception("Wrong token and user login!");
                }

                var staff = db.HaiStaffs.Where(p => p.UserLogin == paser.user).FirstOrDefault();

                if (staff == null)
                {
                    throw new Exception("Chỉ nhân viên công ty mới được sử dụng");
                }
                // check
                var day   = DateTime.Now.Day;
                var month = DateTime.Now.Month;
                var year  = DateTime.Now.Year;

                var calendarType = db.CalendarTypes.Where(p => p.Id == paser.ctype).FirstOrDefault();
                if (calendarType == null)
                {
                    throw new Exception("Sai ke hoach");
                }

                // check ke hoach nay da co chua
                if (String.IsNullOrEmpty(paser.code))
                {
                    var checkCalendar = db.CalendarWorks.Where(p => p.CMonth == month && p.CYear == year && p.CDay == day && p.StaffId == staff.Id && p.TypeId == calendarType.Id).FirstOrDefault();
                    if (checkCalendar != null)
                    {
                        throw new Exception("Ke hoach nay da ton tai");
                    }


                    // tao lich
                    CalendarWork plan = new CalendarWork()
                    {
                        Id        = Guid.NewGuid().ToString(),
                        CDate     = "D" + day + "",
                        CDay      = day,
                        CMonth    = month,
                        CYear     = year,
                        InPlan    = 0,
                        Perform   = 1,
                        CIn       = 0,
                        COut      = 0,
                        AllTime   = 0,
                        Distance  = 0,
                        TypeId    = calendarType.Id,
                        Notes     = "CHECKIN NGOAI KE HOACH",
                        StaffId   = staff.Id,
                        DayInWeek = GetDayOfWeek(day, month, year),
                        LatCheck  = paser.lat,
                        LngCheck  = paser.lng,
                        TimeCheck = DateTime.Now,
                        Flexible  = 0
                    };

                    db.CalendarWorks.Add(plan);
                    db.SaveChanges();
                }
                else
                {
                    var cinfo = db.CInfoCommons.Where(p => p.CCode == paser.code).FirstOrDefault();
                    if (cinfo == null)
                    {
                        throw new Exception("Sai mã khách hàng");
                    }

                    var checkCalendar = db.CalendarWorks.Where(p => p.CMonth == month && p.CYear == year && p.CDay == day && p.StaffId == staff.Id && p.AgencyCode == paser.code).FirstOrDefault();
                    if (checkCalendar != null)
                    {
                        throw new Exception("Ke hoach nay da ton tai");
                    }

                    // tao lich
                    CalendarWork calendar = new CalendarWork()
                    {
                        Id         = Guid.NewGuid().ToString(),
                        AgencyCode = cinfo.CCode,
                        AgencyType = cinfo.CType,
                        CDate      = "D" + day + "",
                        CDay       = day,
                        CMonth     = month,
                        CYear      = year,
                        InPlan     = 0,
                        Perform    = 0,
                        CIn        = 0,
                        COut       = 0,
                        AllTime    = 0,
                        Distance   = 0,
                        TypeId     = calendarType.Id,
                        //   Notes = "Ngoai ke hoach",
                        StaffId   = staff.Id,
                        DayInWeek = GetDayOfWeek(day, month, year),
                        LatCheck  = paser.lat,
                        LngCheck  = paser.lng,
                        TimeCheck = DateTime.Now,
                        Flexible  = 0
                    };
                    db.CalendarWorks.Add(calendar);
                    db.SaveChanges();
                }
            }
            catch (Exception e)
            {
                result.id  = "0";
                result.msg = e.Message;
                log.Sucess = 0;
            }

            log.ReturnInfo = new JavaScriptSerializer().Serialize(result);
            mongoHelper.createHistoryAPI(log);

            return(result);
        }
Exemple #4
0
        public ResultInfo CalendarCreate()
        {
            var log = new MongoHistoryAPI()
            {
                APIUrl     = "/api/checkin/calendarcreate",
                CreateTime = DateTime.Now,
                Sucess     = 1
            };

            var result = new ResultInfo()
            {
                id  = "1",
                msg = "success"
            };

            var requestContent = Request.Content.ReadAsStringAsync().Result;

            try
            {
                var jsonserializer = new JavaScriptSerializer();
                var paser          = jsonserializer.Deserialize <CalendarCreateRequest>(requestContent);
                log.Content = new JavaScriptSerializer().Serialize(paser);

                if (!mongoHelper.checkLoginSession(paser.user, paser.token))
                {
                    throw new Exception("Wrong token and user login!");
                }

                var staff = db.HaiStaffs.Where(p => p.UserLogin == paser.user).FirstOrDefault();

                if (staff == null)
                {
                    throw new Exception("Chỉ nhân viên công ty mới được quyền tạo");
                }

                var checkCalendar = db.CalendarInfoes.Where(p => p.CMonth == paser.month && p.CYear == paser.year && p.StaffId == staff.Id).FirstOrDefault();

                if (checkCalendar != null)
                {
                    throw new Exception("Kế hoạch này đã được tạo");
                }

                // lap lich
                // luu lich voi trang thai chua xac nhan
                var checkInHistory = new CalendarInfo()
                {
                    Id         = Guid.NewGuid().ToString(),
                    CMonth     = paser.month,
                    CYear      = paser.year,
                    CStatus    = 0,
                    CreateTime = DateTime.Now,
                    StaffId    = staff.Id
                };
                db.CalendarInfoes.Add(checkInHistory);
                db.SaveChanges();
                // lich chi tiet
                foreach (var item in paser.items)
                {
                    if (item.agencies == null || item.agencies.Count() == 0)
                    {
                        CalendarWork plan = new CalendarWork()
                        {
                            Id        = Guid.NewGuid().ToString(),
                            CDate     = "D" + item.day + "",
                            CMonth    = paser.month,
                            CYear     = paser.year,
                            CDay      = item.day,
                            InPlan    = 1,
                            Perform   = 1,
                            CIn       = 0,
                            COut      = 0,
                            AllTime   = 0,
                            Distance  = 0,
                            TypeId    = item.status,
                            Notes     = item.notes,
                            StaffId   = staff.Id,
                            DayInWeek = GetDayOfWeek(item.day, paser.month, paser.year),
                            Flexible  = 0
                        };

                        db.CalendarWorks.Add(plan);
                        db.SaveChanges();
                    }
                    else
                    {
                        foreach (var cus in item.agencies)
                        {
                            var checkCus = db.CInfoCommons.Where(p => p.CCode == cus).FirstOrDefault();
                            if (checkCus != null)
                            {
                                CalendarWork plan = new CalendarWork()
                                {
                                    Id         = Guid.NewGuid().ToString(),
                                    CDate      = "D" + item.day + "",
                                    CMonth     = paser.month,
                                    CYear      = paser.year,
                                    CDay       = item.day,
                                    InPlan     = 1,
                                    Perform    = 0,
                                    CIn        = 0,
                                    COut       = 0,
                                    AllTime    = 0,
                                    Distance   = 0,
                                    AgencyCode = checkCus.CCode,
                                    AgencyType = checkCus.CType,
                                    TypeId     = item.status,
                                    Notes      = item.notes,
                                    StaffId    = staff.Id,
                                    DayInWeek  = GetDayOfWeek(item.day, paser.month, paser.year),
                                    Flexible   = 0
                                };

                                db.CalendarWorks.Add(plan);
                                db.SaveChanges();
                            }
                        }
                    }
                }
            }
            catch (Exception e)
            {
                result.id  = "0";
                result.msg = e.Message;
                log.Sucess = 0;
            }

            log.ReturnInfo = new JavaScriptSerializer().Serialize(result);
            mongoHelper.createHistoryAPI(log);

            return(result);
        }
Exemple #5
0
        public ResultInfo UpdateCalendar()
        {
            var log = new MongoHistoryAPI()
            {
                APIUrl     = "/api/checkin/updatecalendar",
                CreateTime = DateTime.Now,
                Sucess     = 1
            };

            var result = new ResultInfo()
            {
                id  = "1",
                msg = "success"
            };

            try
            {
                var requestContent = Request.Content.ReadAsStringAsync().Result;
                var jsonserializer = new JavaScriptSerializer();
                var paser          = jsonserializer.Deserialize <CalendarUpdateRequest>(requestContent);
                log.Content = new JavaScriptSerializer().Serialize(paser);

                if (!mongoHelper.checkLoginSession(paser.user, paser.token))
                {
                    throw new Exception("Wrong token and user login!");
                }

                var staff = db.HaiStaffs.Where(p => p.UserLogin == paser.user).FirstOrDefault();

                if (staff == null)
                {
                    throw new Exception("Chỉ nhân viên công ty mới được quyền tạo");
                }

                // check next month
                var checkCalendar = db.CalendarInfoes.Where(p => p.CMonth == paser.month && p.CYear == paser.year && p.StaffId == staff.Id).FirstOrDefault();

                if (checkCalendar == null)
                {
                    throw new Exception("Lịch không tồn tại");
                }

                if (checkCalendar.CStatus == 1)
                {
                    throw new Exception("Lịch đã đi vào hoặt động, không cho phép chỉnh sửa");
                }

                checkCalendar.CStatus         = 0;
                db.Entry(checkCalendar).State = System.Data.Entity.EntityState.Modified;
                db.SaveChanges();

                // chinh sua
                // xoa du lieu cu
                var oldCalendar = db.CalendarWorks.Where(p => p.CMonth == paser.month && p.CDay == paser.item.day && p.StaffId == staff.Id).ToList();
                foreach (var item in oldCalendar)
                {
                    db.CalendarWorks.Remove(item);
                    db.SaveChanges();
                }

                // them cai moi
                if (paser.item.agencies == null || paser.item.agencies.Count() == 0)
                {
                    CalendarWork plan = new CalendarWork()
                    {
                        Id        = Guid.NewGuid().ToString(),
                        CDate     = "D" + paser.item.day + "",
                        CMonth    = paser.month,
                        CYear     = paser.year,
                        CDay      = paser.item.day,
                        InPlan    = 1,
                        Perform   = 0,
                        CIn       = 0,
                        COut      = 0,
                        AllTime   = 0,
                        Distance  = 0,
                        TypeId    = paser.item.status,
                        Notes     = paser.item.notes,
                        StaffId   = staff.Id,
                        DayInWeek = GetDayOfWeek(paser.item.day, paser.month, paser.year)
                    };

                    db.CalendarWorks.Add(plan);
                    db.SaveChanges();
                }
                else
                {
                    foreach (var cus in paser.item.agencies)
                    {
                        var checkCus = db.CInfoCommons.Where(p => p.CCode == cus).FirstOrDefault();
                        if (checkCus != null)
                        {
                            CalendarWork plan = new CalendarWork()
                            {
                                Id         = Guid.NewGuid().ToString(),
                                CDate      = "D" + paser.item.day + "",
                                CMonth     = paser.month,
                                CYear      = paser.year,
                                CDay       = paser.item.day,
                                InPlan     = 1,
                                Perform    = 0,
                                CIn        = 0,
                                COut       = 0,
                                AllTime    = 0,
                                Distance   = 0,
                                AgencyCode = checkCus.CCode,
                                AgencyType = checkCus.CType,
                                TypeId     = paser.item.status,
                                Notes      = paser.item.notes,
                                StaffId    = staff.Id,
                                DayInWeek  = GetDayOfWeek(paser.item.day, paser.month, paser.year)
                            };

                            db.CalendarWorks.Add(plan);
                            db.SaveChanges();
                        }
                    }
                }

                // xong
            }
            catch (Exception e)
            {
                result.id  = "0";
                result.msg = e.Message;
                log.Sucess = 0;
            }

            log.ReturnInfo = new JavaScriptSerializer().Serialize(result);

            mongoHelper.createHistoryAPI(log);

            return(result);
        }
Exemple #6
0
        public ResultInfo CheckInFlexible()
        {
            var log = new MongoHistoryAPI()
            {
                APIUrl     = "/api/checkin/checkinflexible",
                CreateTime = DateTime.Now,
                Sucess     = 1
            };

            var result = new ResultInfo()
            {
                id  = "1",
                msg = "success"
            };
            var requestContent = Request.Content.ReadAsStringAsync().Result;

            try
            {
                var jsonserializer = new JavaScriptSerializer();
                var paser          = jsonserializer.Deserialize <CheckInFlexibleRequest>(requestContent);
                log.Content = new JavaScriptSerializer().Serialize(paser);

                if (!mongoHelper.checkLoginSession(paser.user, paser.token))
                {
                    throw new Exception("Wrong token and user login!");
                }

                var staff = db.HaiStaffs.Where(p => p.UserLogin == paser.user).FirstOrDefault();

                if (staff == null)
                {
                    throw new Exception("Chỉ nhân viên công ty mới được sử dụng");
                }


                if (checkTT(paser.user))
                {
                    throw new Exception("Không dành cho nhân viên thị trường");
                }

                var calendarType = db.CalendarTypes.Where(p => p.Id == paser.typeId).FirstOrDefault();
                if (calendarType == null)
                {
                    throw new Exception("Sai ke hoach");
                }

                var day   = DateTime.Now.Day;
                var month = DateTime.Now.Month;
                var year  = DateTime.Now.Year;
                // tao lich
                CalendarWork plan = new CalendarWork()
                {
                    Id          = Guid.NewGuid().ToString(),
                    CDate       = "D" + day + "",
                    CDay        = day,
                    CMonth      = month,
                    CYear       = year,
                    InPlan      = 0,
                    Perform     = 0,
                    CIn         = 0,
                    COut        = 0,
                    AllTime     = 0,
                    Distance    = 0,
                    TypeId      = calendarType.Id,
                    Notes       = "CHECKIN KHONG CO DINH",
                    StaffId     = staff.Id,
                    DayInWeek   = GetDayOfWeek(day, month, year),
                    LatCheck    = paser.lat,
                    LngCheck    = paser.lng,
                    TimeCheck   = DateTime.Now,
                    AddressInfo = paser.address,
                    AgencyCode  = "KVL",
                    AgencyType  = "KVL",
                    Content     = paser.content,
                    Country     = paser.country,
                    Province    = paser.province,
                    Ward        = paser.ward,
                    District    = paser.district,
                    Flexible    = 1
                };

                db.CalendarWorks.Add(plan);
                db.SaveChanges();
            }
            catch (Exception e)
            {
                result.id  = "0";
                result.msg = e.Message;
                log.Sucess = 0;
            }

            log.ReturnInfo = new JavaScriptSerializer().Serialize(result);
            mongoHelper.createHistoryAPI(log);

            return(result);
        }