public JsonResult UpdateTenderState(int tenderId, short state) { try { using (var ctx = new CoronaSupportPlatformDbContext()) { // Get the tender var tender = ctx.Tenders.FirstOrDefault(t => t.TenderId == tenderId); tender.State = (TenderState)state; ctx.Entry(tender).State = System.Data.Entity.EntityState.Modified; ctx.SaveChanges(); return(Json(new CSControllerResponse() { ReturnCode = 200 }, JsonRequestBehavior.AllowGet)); } } catch (Exception ex) { return(Json(new CSControllerResponse() { ReturnCode = -300 }, JsonRequestBehavior.AllowGet)); } }
public ActionResult New(TenderViewModel model) { try { #region [ Load the create page data ] using (var ctx = new CoronaSupportPlatformDbContext()) { // Get the products var products = ctx.Products.ToList(); model.Products = products; // Get the organization Id var organizationId = CurrentUser.Roles.FirstOrDefault().OrganizationId; // Get the organization var organization = ctx.Organizations.FirstOrDefault(o => o.OrganizationId == organizationId); model.Organization = organization; } #endregion #region [ Breadcrumb ] var breadcrumb = new BreadcrumbViewModel(); breadcrumb.PageName = "Yeni İhtiyaç"; breadcrumb.Items.Add("Anasayfa", "/"); breadcrumb.Items.Add("İhtiyaç Listesi", "/Tenders"); breadcrumb.Items.Add("Yeni İhtiyaç", ""); TempData["Breadcrumb"] = breadcrumb; #endregion if (ModelState.IsValid) { using (var ctx = new CoronaSupportPlatformDbContext()) { // Create new tender object var tender = new Tender() { OrganizationId = model.Organization.OrganizationId, ShortDescription = model.ShortDescription, LongDescription = model.LongDescription, UserId = CurrentUser.Id, Created = DateTime.UtcNow, State = TenderState.New, Status = Common.EntityStatus.Active, }; // Get the quantities var quantityList = Request.Form["ProductQuantities"].Split(','); // Create the tender items var tenderItems = new List <TenderItem>(); for (int i = 0; i < model.Products.Count; i++) { // Check for quantity var quantity = Convert.ToInt32(quantityList[i]); // Check for a positive quantity if (quantity == 0) { continue; } // Get the current product var product = model.Products[i]; tenderItems.Add(new TenderItem() { ProductId = product.ProductId, Quantity = quantity, State = TenderItemState.New, Created = DateTime.UtcNow }); } // Add the tender items to tender tender.Items = tenderItems; // Add the tender ctx.Tenders.Add(tender); ctx.SaveChanges(); } } else { // Add model state errors model.Errors.AddRange(ModelState.SelectMany(s => s.Value.Errors.Select(e => e.ErrorMessage))); return(View(model)); } } catch (Exception ex) { LogService.Debug(ex, $"There is an error while creating tender"); return(View(model)); } return(Redirect("/Tenders")); }
public async Task <ActionResult> Register(RegisterViewModel model) { // Add debug log LogService.Debug($"Getting the registration page (HTTP_POST). SessionId:{SessionId}"); if (ModelState.IsValid) { // Create the user object var user = new CSPUser { Firstname = model.Firstname, Lastname = model.Lastname, UserName = model.Email, Email = model.Email, MobileNumber = model.Mobile, RegistrationNumber = model.RegistrationNumber, Created = DateTime.UtcNow, Status = EntityStatus.Draft }; // Set the location and check email using (var ctx = new CoronaSupportPlatformDbContext()) { // Check email from db var emailTaken = ctx.Users.Where(et => et.Email == model.Email).Any(); if (emailTaken) { // Load the locations model.Organizations = ctx.Organizations.ToList(); model.Errors.Add(model.Email + "'a ait bir hesap bulunmakta"); return(View(model)); } } // Create the user at the user store var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { // Assign to role IdentityResult roleAssignmentResponse = null; if (model.Occupation == "2") { // Assign to role roleAssignmentResponse = UserManager.AddToRole(user.Id, "OrganizationUser"); } else { roleAssignmentResponse = UserManager.AddToRole(user.Id, "User"); } // Set the organization id using (var ctx = new CoronaSupportPlatformDbContext()) { // Load the user role var userRole = ctx.UserRoles.FirstOrDefault(ur => ur.UserId == user.Id && ur.RoleId == 2); userRole.OrganizationId = Convert.ToInt32(model.OrganizationId); ctx.SaveChanges(); } // Log in the user await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false); #region [ User e-mail validation ] // Get the current domain (it can be development, staging or production) var siteRoot = String.Format("{0}://{1}{2}", System.Web.HttpContext.Current.Request.Url.Scheme, System.Web.HttpContext.Current.Request.Url.Host, System.Web.HttpContext.Current.Request.Url.Port == 80 ? string.Empty : ":" + System.Web.HttpContext.Current.Request.Url.Port); // Calculate the activation code based on the email and user id var activationCode = EncryptMessage(user.Email, user.Id.ToString()); //// Sending confirmation email //var activationEmailModel = new RegistrationNotificationViewModel() //{ // ActivationCode = activationCode, // User = user, // SiteRoot = siteRoot //}; //var activationEmail = ViewToString("~/Views/Templates/Email/RegistrationActivation.cshtml", activationEmailModel); //var activationEmailResponse = _mailgunService.Send(new EmailMessage() //{ // ChannelId = "Mailgun", // FromName = "FreelanceFrom", // FromAddress = "*****@*****.**", // Subject = "Freelancefrom Bilgilendirme", // Body = activationEmail, // IsHtml = true, // Deliveries = new List<Delivery>() // { // new Delivery() // { // RecipientType = Common.RecipientType.Primary, // RecipientName = user.Firstname + " " + user.Lastname, // RecipientAddress = user.Email // } // } //}); #endregion #region [ Slack notification ] //try //{ // var slackNotificationResponse = _slackService.SendActivity(new MessageRequest() // { // Attachments = new List<SlackAttachment>() { // new SlackAttachment() // { // Color = "#36a64f", // Title = "Yeni Üye", // TitleLink = "http://www.freelancefrom.com/users/" + user.Id, // Text = "\n", // Fields = new List<SlackField>() // { // new SlackField() // { // Title = "Ad Soyad", // Value = $"{user.Firstname + " " + user.Lastname}\n" // }, // new SlackField() // { // Title = "E-posta adresi", // Value = $"{user.Email}\n" // } // } // } // } // }); //} //catch (Exception ex) //{ // // Do nothing //} #endregion // Add debug log LogService.Debug($"User registration complete, now redirecting to home page. SessionId:{SessionId}"); return(RedirectToAction("Index", "Home")); } AddErrors(result); } else { // Add errors model.Errors.AddRange(ModelState.SelectMany(s => s.Value.Errors.Select(e => e.ErrorMessage))); } // Add debug log LogService.Debug($"User registration failed, re-opening the registration page. SessionId:{SessionId}"); using (var ctx = new CoronaSupportPlatformDbContext()) { model.Organizations = ctx.Organizations.ToList(); } // If we got this far, something failed, redisplay form return(View(model)); }