public ActionResult CreateActivityLogOptions()
        {
            Models.ActivityLogsOptions model = GetActivityLogsOptionsModel(new Models.ActivityLogsOptions());
            JneCommSitesDataLayer.JneCommSitesDataBaseEntities _dbContext = new JneCommSitesDataLayer.JneCommSitesDataBaseEntities();

            string userName = HttpContext.User.Identity.Name;

            var queryUser = (from p in _dbContext.AspNetUsers
                             where p.UserName == userName
                             select p).FirstOrDefault();

            var queryExistLogActivity = (from p in _dbContext.T_ActivityLog
                                         where p.AspNetUsers.UserName == userName &&
                                         p.dtEndWorkingDay == null
                                         select p).FirstOrDefault();

            if (queryExistLogActivity != null)
            {
                if (!string.IsNullOrEmpty(queryExistLogActivity.vSiteName))
                {
                    model.site = queryExistLogActivity.vSiteName;
                }
            }
            return(View(model));
        }
 public ActionResult EndWorkingDay(Models.ActivityLogsOptions model)
 {
     if (ModelState.IsValid)
     {
         Models.EndWorkingDayModel endWorkingDay = new Models.EndWorkingDayModel();
         endWorkingDay.siteID = model.site;
         endWorkingDay._ProgressPercentageList = Helper.Helper.GetActivityProgress();
         endWorkingDay._ProgressList           = Helper.Helper.GetActivityLogOptions(0);
         return(View("EndWorkingDay", endWorkingDay));
     }
     else
     {
         return(RedirectToAction("CreateActivityLogOptions"));
     }
 }
 public ActionResult Purchase(Models.ActivityLogsOptions model)
 {
     if (ModelState.IsValid)
     {
         CultureInfo culture = new CultureInfo("en-US");
         Models.ActivityLogsPurchase purchaseModel = new Models.ActivityLogsPurchase();
         purchaseModel.startPurchaseCheckPoint = model.checkPoint;
         purchaseModel.sitePurchase            = model.site;
         purchaseModel.purchaseType            = model.activityLogOption;
         return(View("Purchase", purchaseModel));
     }
     else
     {
         return(RedirectToAction("CreateActivityLogOptions"));
     }
 }
        public ActionResult CreateActivityLogOptions(Models.ActivityLogsOptions model)
        {
            if (ModelState.IsValid)
            {
                CultureInfo culture = new CultureInfo("en-US");
                JneCommSitesDataLayer.JneCommSitesDataBaseEntities _dbContext = new JneCommSitesDataLayer.JneCommSitesDataBaseEntities();

                string userName = HttpContext.User.Identity.Name;

                var queryUser = (from p in _dbContext.AspNetUsers
                                 where p.UserName == userName
                                 select p).FirstOrDefault();

                var queryExistLogActivity = (from p in _dbContext.T_ActivityLog
                                             where p.AspNetUsers.UserName == userName &&
                                             p.dtEndWorkingDay == null
                                             select p).FirstOrDefault();

                model = GetActivityLogsOptionsModel(model);

                switch (model.activityLogOption)
                {
                case "StartWorkingDay":
                    //Lamar metodo para CheckPoint
                    CheckPoint(model.site, null, "StartWorkingDay", model.checkPoint, model.position);
                    break;

                case "ArrivingWareHouse":
                    //llamar metodo checkPoint
                    CheckPoint(model.site, queryExistLogActivity, "ArrivingWareHouse", model.checkPoint, model.position);
                    break;

                case "DepartureWareHouse":
                    //llamar metodo checkPoint
                    CheckPoint(model.site, queryExistLogActivity, "DepartureWareHouse", model.checkPoint, model.position);
                    break;

                case "EndWorkingDay":
                    if (queryExistLogActivity != null)
                    {
                        return(EndWorkingDay(model));
                    }
                    else
                    {
                        ModelState.AddModelError(string.Empty, "Before to Arriving Warehouse you need to start a working day. / Antes de llegar a la bodega usted necesita iniciar una jornada laboral.");
                        return(View(model));
                    }

                default:
                    if (!string.IsNullOrEmpty(model.site) && !string.IsNullOrEmpty(model.checkPoint.ToString()))
                    {
                        return(Purchase(model));
                    }
                    else
                    {
                        ModelState.AddModelError(string.Empty, "Select a Site please. Seleccione un sitio por favor.");
                    }
                    break;
                }
                model._ActivityLogoption = Helper.Helper.GetActivityLogOptions();
                model._SitesList         = Helper.Helper.GetSitesAssignedToUserCrew(HttpContext.User.Identity.Name);
                return(View(model));
            }
            model._ActivityLogoption = Helper.Helper.GetActivityLogOptions();
            model._SitesList         = Helper.Helper.GetSitesAssignedToUserCrew(HttpContext.User.Identity.Name);
            ModelState.AddModelError(string.Empty, "A error ocurred, plese try again. Un error a ocurrido porfavor intente nuevamente.");
            return(View(model));
        }
 //Load initial model for create activity log
 public Models.ActivityLogsOptions GetActivityLogsOptionsModel(Models.ActivityLogsOptions model)
 {
     model._ActivityLogoption = Helper.Helper.GetActivityLogOptions();
     model._SitesList         = Helper.Helper.GetSitesAssignedToUserCrew(HttpContext.User.Identity.Name);
     return(model);
 }