/// <summary> /// Returns a MVCList with all contacts from a Client. /// </summary> /// <param name="page"></param> /// <param name="idCliente"></param> /// <returns></returns> public MvcList<ContactModel> ListAll(int? page, int idCliente) { var promoter = new WS.Promoter.Promoter().GetPromoter(Settings.AutenticationKeyEarningSystem, idCliente); if (promoter != null) { var contactList = new Contact().SelectAll(Settings.AutenticationKeyEarningSystem, promoter.IdPromoter); page = page ?? 1; var contactListPage = new Tuple<IEnumerable<ContactModel>, Int32>( contactList.OrderBy(x => x.Name) .Skip((page.Value * Constants.ManageContactRegistersPerPage) - Constants.ManageContactRegistersPerPage) .Take(Constants.ManageContactRegistersPerPage).ToList(), contactList.Count()); var list = new MvcList<ContactModel>(contactListPage.Item1, page.Value, contactListPage.Item2, Constants.ManageContactRegistersPerPage); return list; } return new MvcList<ContactModel>(new ContactModel[0], 0, 0); }
public ActionResult NewContact(ContactModel model) { if (new WS.Promoter.Promoter().ValidateEmail(Settings.AutenticationKeyEarningSystem, model.Email)) return ValidationResult(Resources.Resource.GS_Contact_EmailAlreadyExist); using (var ws = Service) { var idPromoter = 0; var userAuth = FormsAuthenticationUtil.UserAuthenticated; if (userAuth != null && userAuth.IdCliente.HasValue) { var promoter = new WS.Promoter.Promoter().GetPromoter(Settings.AutenticationKeyEarningSystem, userAuth.IdCliente.Value); if (promoter != null) { idPromoter = promoter.IdPromoter; } model.IdPromoter = idPromoter; model.Selecionado = true; string validationMessage; var contact = new ContactModel { IdPromoter = idPromoter, Email = model.Email, Name = model.Name }; if (ws.ValidarNovoContato(Settings.AutenticationKeyEarningSystem, contact, out validationMessage)) model.IdContact = ws.InserirContato(Settings.AutenticationKeyEarningSystem, contact); else return ValidationResult(validationMessage); } } AdicionarItemLista(model); return SuccessResult(Resources.Resource.Msg_Geral_CadastroRealizado); }
public ActionResult LoadSelectContact(string selected) { var userAuth = FormsAuthenticationUtil.UserAuthenticated; var search = new SearchContactModel { Contatos = new List<ContactModel>().ToArray() }; using (var ws = Service) { if (userAuth != null && userAuth.IdCliente.HasValue) { var promoter = new WS.Promoter.Promoter().GetPromoter(Settings.AutenticationKeyEarningSystem, userAuth.IdCliente.Value); if (promoter != null) { search.Contatos = ws.SelectByPromoter(Settings.AutenticationKeyEarningSystem, promoter.IdPromoter); } var contactModels = search.Contatos.ToList(); AtualizarLista(ref contactModels, Deserialize<SendEmailModels>(selected)); search.TotalPaginas = GetTotalPages(contactModels.Count()); search.PaginaAtual = Constants.ContactComponentFirstPage; search.Contatos = contactModels.Take(Constants.ContactComponentRegistersPerPage).ToArray(); } } return PartialView("_SelectContact", search); }
public JsonResult Create(string name, string email) { try { if (new WS.Promoter.Promoter().ValidateEmail(Settings.AutenticationKeyEarningSystem, email)) return Json(new JsonRequestResult { ResultType = JsonRequestResultType.Error, Message = Resources.Resource.GS_Contact_EmailAlreadyExist }, JsonRequestBehavior.AllowGet); if (SecurityHelper.GainSystemUserIsAuthenticated()) { var userAuth = FormsAuthenticationUtil.UserAuthenticated; if (userAuth != null) { if (userAuth.IdCliente != null) { var promoter = new WS.Promoter.Promoter().GetPromoter(Settings.AutenticationKeyEarningSystem, userAuth.IdCliente.Value); if (promoter != null) { var contact = new ContactModel { Name = name, Email = email, IdPromoter = promoter.IdPromoter }; string validationMessage; if (Service.ValidarNovoContato(Settings.AutenticationKeyEarningSystem, contact, out validationMessage)) { var idNewContact = new Contact().Insert(Settings.AutenticationKeyEarningSystem, contact); if (idNewContact != 0) { return Json( new JsonRequestResult { ResultType = JsonRequestResultType.Success, Message = Resources.Resource.GS_Contact_Create_Success }, JsonRequestBehavior.AllowGet); } return Json( new JsonRequestResult { ResultType = JsonRequestResultType.Error, Message = Resources.Resource.GS_Contact_Create_Error }, JsonRequestBehavior.AllowGet); } else return Json( new JsonRequestResult { ResultType = JsonRequestResultType.Error, Message = validationMessage }, JsonRequestBehavior.AllowGet); } } } } } catch (Exception ex) { LogService.Log("GS.ContactController.Create() :: Exception : ", ex); return Json(new JsonRequestResult { ResultType = JsonRequestResultType.Error, Message = Resources.Resource.GS_Contact_Create_Error }, JsonRequestBehavior.AllowGet); } return new JsonResult(); }
/// <summary> /// View with the Report to print /// </summary> /// <returns></returns> public ActionResult PrintAnnualEarningsReport(string year) { try { if (!String.IsNullOrWhiteSpace(year)) { var promoter = new WS.Promoter.Promoter().GetPromoter( Settings.AutenticationKeyEarningSystem, RetornaidCliente()); if (promoter != null) { ViewBag.Year = !String.IsNullOrWhiteSpace(year) ? year : String.Empty; ViewBag.TotalCommissions = GetTotalCommissionsByYear(year, promoter.IdPromoter); return PartialView(promoter); } } } catch (Exception ex) { LogService.Log("GS.CommissionController.AnnualEarningsDetail() :: Exception : ", ex); } return View(); }
/// <summary> /// Opens the View for Annual Earnings Report /// </summary> /// <returns></returns> public ActionResult AnnualEarningsReport() { var promoter = new WS.Promoter.Promoter().GetPromoter( Settings.AutenticationKeyEarningSystem, RetornaidCliente()); if (promoter != null) { ViewBag.Years = GetYearsSelectListItem(promoter.IdPromoter); } return View(); }
/// <summary> /// Method thats build the model with the Commissions for a Period /// </summary> /// <param name="idPeriod"></param> /// <returns></returns> public IEnumerable<CommissionModel> MontaModel(string idPeriod) { try { if (!String.IsNullOrWhiteSpace(idPeriod)) { var idPeriodo = Convert.ToInt32(idPeriod); var period = new WS.Period.Period().Get(Settings.AutenticationKeyEarningSystem, idPeriodo); var dtInicio = period != null ? period.DataInicio : DateTime.MinValue; var dtTermino = period != null ? period.DataTermino : DateTime.MaxValue; var promoter = new WS.Promoter.Promoter().GetPromoter( Settings.AutenticationKeyEarningSystem, RetornaidCliente()); if (promoter != null) { //Retorna as comissões var commissions = new Commissions().SelectFiltered( Settings.AutenticationKeyEarningSystem, dtInicio, dtTermino, promoter.IdPromoter); var commissionsGroup = (from c in commissions group c by c.Pedido.IdCliente into g select new CommissionModel { Cliente_Pedido = g.Select(m => m.Cliente_Pedido).FirstOrDefault(), Cliente = g.Select(m => m.Cliente).FirstOrDefault(), Nivel = g.Select(m => m.Nivel).FirstOrDefault(), ValorComissao = g.Sum(m => m.ValorComissao), ValorPedido = g.Sum(m => m.ValorPedido) }).ToArray(); return commissions.Any() ? commissionsGroup : new CommissionModel[0]; } } } catch (Exception ex) { LogService.Log("GS.CommissionController.Listing() :: Exception : ", ex); } return new CommissionModel[0]; }