public JsonResult AssignJobToWorker(long requestId, long workerId)
        {
            long   AdminId = Convert.ToInt64(Session["AdminId"]);
            wsBase wsBase  = new wsBase();

            wsBase.status  = propertyService.AssignJobToWorker(requestId, workerId, AdminId);
            wsBase.message = propertyService.message;
            return(Json(wsBase, JsonRequestBehavior.AllowGet));
        }
        public JsonResult SendQuote(long requestId, decimal price)
        {
            long            userId          = Convert.ToInt64(Session["AdminId"]);
            QuotePriceModel quotePriceModel = new QuotePriceModel()
            {
                JobRequestId = requestId,
                QuotePrice   = price,
                UserId       = userId
            };
            wsBase wsBase = new wsBase();

            wsBase.status  = propertyService.SendQuote(quotePriceModel, true);
            wsBase.message = propertyService.message;
            return(Json(wsBase, JsonRequestBehavior.AllowGet));
        }
 public JsonResult SendMessage(long userId)
 {
     if (userId != 0)
     {
         long             userID = Convert.ToInt64(Session["UserId"]);
         ChatRequestModel m      = new ChatRequestModel()
         {
             FromUserId = userID,
             ToUserId   = userId
         };
         propertyService.AddChatRequest(m);
         wsBase wsBase = new wsBase();
         wsBase.status = true;
         return(Json(wsBase, JsonRequestBehavior.AllowGet));
     }
     else
     {
         return(Json("Session Expired", JsonRequestBehavior.AllowGet));
     }
 }
        public JsonResult AddJobRequest(FormCollection formCollection)
        {
            JobRequestModel model = new JobRequestModel();

            model.CategoryId = Convert.ToInt32(formCollection["CategoryId"]);
            model.PropertyId = Convert.ToInt32(formCollection["PropertyId"]);
            if (formCollection["JobStartDatetime"] != null && formCollection["JobStartTime"] != null)
            {
                var getDate = DateTime.ParseExact(formCollection["JobStartDatetime"], "MM/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture);
                //var getDate = Convert.ToDateTime(formCollection["JobStartDatetime"]);
                TimeSpan time;
                if (TimeSpan.TryParse(formCollection["JobStartTime"], out time))
                {
                    string startDate = (getDate + time).ToString("yyyy-MM-dd HH:mm:ss");
                    model.JobStartDatetime = Convert.ToDateTime(startDate);
                }
            }
            if (formCollection["Price"] != "null" || formCollection["ClientPrice"] != "null")
            {
                model.HasPrice = true;
            }
            else
            {
                model.HasPrice = false;
            }
            if (formCollection["JobEndDatetime"] != null && formCollection["JobEndTime"] != null)
            {
                var getDate = DateTime.ParseExact(formCollection["JobEndDatetime"], "MM/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture);
                //var getDate = Convert.ToDateTime(formCollection["JobEndDatetime"]);
                TimeSpan time;
                if (TimeSpan.TryParse(formCollection["JobEndTime"], out time))
                {
                    string endDate = (getDate + time).ToString("yyyy-MM-dd HH:mm:ss");
                    model.JobEndDatetime = Convert.ToDateTime(endDate);
                }
            }

            if (formCollection["CheckList"] != null)
            {
                var checklist = formCollection["CheckList"].ToString();
                model.CheckList = Newtonsoft.Json.JsonConvert.DeserializeObject <List <string> >(checklist);
            }

            model.Description = formCollection["Description"];
            model.UserId      = Convert.ToInt64(Session["UserId"]);
            if (formCollection["SubCategoryId"] != "undefined")
            {
                model.SubCategoryId = Convert.ToInt64(formCollection["SubCategoryId"]);
            }

            if (formCollection["Price"] != "null")
            {
                model.Price = Convert.ToDecimal(formCollection["Price"]);
            }
            if (formCollection["ClientPrice"] != "null")
            {
                model.ClientPrice = Convert.ToDecimal(formCollection["ClientPrice"]);
            }

            var           json           = formCollection["Attachments"].ToString();
            List <string> getAttachments = Newtonsoft.Json.JsonConvert.DeserializeObject <List <string> >(json);


            model.ReferenceImages = new List <string>();
            var date = DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss").Replace("-", "_");

            if (getAttachments.Count > 0)
            {
                var count = getAttachments.Count();
                if (count > 0)
                {
                    for (int i = 0; i < getAttachments.Count(); i++)
                    {
                        string imageName = "JobRequest" + Guid.NewGuid() + date + ".jpg";

                        string[] splitAttachment = getAttachments[i].Split(',');

                        Common.SaveImage(splitAttachment[1], imageName);

                        model.ReferenceImages.Add(imageName);
                    }
                }
            }


            if (formCollection["SubSubCategories"] != null)
            {
                var subsubCatArr = formCollection["SubSubCategories"].ToString();
                model.SubSubCategories = Newtonsoft.Json.JsonConvert.DeserializeObject <List <long> >(subsubCatArr);
            }
            var status = propertyService.AddJobRequest(model);


            wsBase obj = new wsBase()
            {
                status  = status,
                message = propertyService.message
            };

            return(Json(obj, JsonRequestBehavior.AllowGet));
        }