public LicenseDetailDTO GetDetail(string ID)
        {
            LicenseDetailDTO model = new LicenseDetailDTO();

            try
            {
                GetLicenseDetailRequest paraBody = new GetLicenseDetailRequest();
                paraBody.ID = ID;
                var     result     = (NSApiResponse)ApiResponse.Post <NSApiResponse>(Commons.CustomerLicenseGetDetail, null, paraBody);
                dynamic data       = result.Data;
                var     lstDataRaw = data["LicenseDetail"];
                var     lstObject  = JsonConvert.SerializeObject(lstDataRaw);
                model = JsonConvert.DeserializeObject <LicenseDetailDTO>(lstObject);
                if (model != null)
                {
                    model.DateCreated = CommonHelper.ConvertToLocalTime(model.DateCreated);
                    if (model.ExpiredTime.HasValue)
                    {
                        model.ExpiredTime = CommonHelper.ConvertToLocalTime(model.ExpiredTime.Value);
                    }
                    if (model.ListItem != null && model.ListItem.Any())
                    {
                        model.ListItem.ForEach(x =>
                        {
                            if (x.ActiveTime.HasValue)
                            {
                                x.ActiveTime = CommonHelper.ConvertToLocalTime(x.ActiveTime.Value);
                            }
                        });
                    }
                }
                NSLog.Logger.Info("LicenseKeyManagement_GetDetail", model);

                return(model);
            }
            catch (Exception e)
            {
                NSLog.Logger.Error("LicenseKeyManagement_GetDetail_Fail", e);
                return(model);
            }
        }
 public bool CreateOrEdit(LicenseDetailDTO model, string useid, ref string msg)
 {
     try
     {
         UpdateLicenseKeyRequest paraBody = new UpdateLicenseKeyRequest();
         paraBody.ID          = model.ID;
         paraBody.IsActive    = model.IsActive;
         paraBody.ListItem    = model.ListItem;
         paraBody.CreatedUser = useid;
         var result = (NSApiResponse)ApiResponse.Post <NSApiResponse>(Commons.CustomerLicenseUpdate, null, paraBody);
         if (result != null)
         {
             if (result.Success)
             {
                 return(true);
             }
             else
             {
                 msg = result.Message;
                 msg = Commons.ErrorMsg;
                 NSLog.Logger.Info("LicenseKeyManagement_CreateOrEdit", result.Message);
                 return(false);
             }
         }
         else
         {
             NSLog.Logger.Info("LicenseKeyManagement_CreateOrEdit", result);
             return(false);
         }
     }
     catch (Exception e)
     {
         NSLog.Logger.Error("LicenseKeyManagement_CreateOrEdit_Fail", e);
         return(false);
     }
 }
        public ActionResult Edit(LicenseDetailDTO model)
        {
            try
            {
                //if (string.IsNullOrEmpty(model.Name))
                //    ModelState.AddModelError("Name", "Employee Name is required");

                //if (!ModelState.IsValid)
                //{
                //    if ((ModelState["PictureUpload"]) != null && (ModelState["PictureUpload"]).Errors.Count > 0)
                //        model.ImageURL = "";

                //    Response.StatusCode = (int)HttpStatusCode.BadRequest;
                //    return PartialView("_Edit", model);
                //}

                //====================

                string msg    = "";
                var    result = _factory.CreateOrEdit(model, CurrentUser.UserId, ref msg);
                if (result)
                {
                    return(RedirectToAction("Index"));
                }
                else
                {
                    ModelState.AddModelError("Name", msg);
                    return(PartialView("_Edit", model));
                }
            }
            catch (Exception ex)
            {
                NSLog.Logger.Error("LicenseKeyManagement_Edit: ", ex);
                return(new HttpStatusCodeResult(400, ex.Message));
            }
        }
        public LicenseDetailDTO GetDetail(string id)
        {
            try
            {
                LicenseDetailDTO model = _factory.GetDetail(id);
                model.PaidTime = CommonHelper.ConvertToLocalTime(model.PaidTime);
                // Check Status License Key
                ViewBag.LicenseStatusName = "";
                ViewBag.ExpiryTimeStr     = "";

                if (model.IsActive)
                {
                    ViewBag.LicenseStatusName = "Active";
                }
                else
                {
                    ViewBag.LicenseStatusName = "Blocked";
                }

                if (!model.ExpiredTime.HasValue)
                {
                    ViewBag.ExpiryTimeStr = "Not yet Activated";
                }
                else
                {
                    ViewBag.ExpiryTimeStr = model.ExpiredTime.Value.ToString(Commons.FormatDateTime);
                    if (DateTime.Compare(model.ExpiredTime.Value.Date, Commons.MaxDate.Date) >= 0)
                    {
                        ViewBag.ExpiryTimeStr = "Never";
                    }
                    else if (model.ExpiredTime.Value < DateTime.Now)
                    {
                        ViewBag.LicenseStatusName = "Expired";
                    }
                }

                if (model.ListItem != null && model.ListItem.Count > 0)
                {
                    int index = 0;
                    model.ListItem.ForEach(o => o.Offset = index++);
                    foreach (var item in model.ListItem)
                    {
                        if (item.IsActive)
                        {
                            item.StatusName = "Yes";
                        }
                        else
                        {
                            item.StatusName = "No";
                        }
                    }
                }
                if (model.ListFunctionName != null && model.ListFunctionName.Count > 0)
                {
                    //foreach (var item in model.ListFunctionName)
                    //{
                    //    model.NameFunction += item + ", ";
                    //}
                    model.NameFunction = String.Join(", ", model.ListFunctionName.OrderBy(oo => oo).ToList());
                }
                return(model);
            }
            catch (Exception ex)
            {
                NSLog.Logger.Error("LicenseKeyManagementDetail: ", ex);
                return(null);
            }
        }
        public PartialViewResult Edit(string id)
        {
            LicenseDetailDTO model = GetDetail(id);

            return(PartialView("_Edit", model));
        }
        public new PartialViewResult View(string id)
        {
            LicenseDetailDTO model = GetDetail(id);

            return(PartialView("_View", model));
        }