public ActionResult Index() { var user = UserHelper.GetUserByEmail(User.Identity.Name); var userUsedDiskSpase = UserHelper.GetUserUsedDiskSpase(user.Id); var Redactors = RedactorsHelper.GetAllRedactors(user); ; var tables = userRepository.Find(u => u.Id == user.Id).TableModels.Where(t => t.AdministratorId_Id == user.Id).ToList(); var unitsHelper = new UnitsHelper(); //var redactors int userExist = 0; var unitInfo = unitsHelper.GetUnitInfo(); if (Redactors != null && Redactors.Count > 0) { userExist = Redactors.Count; } ProfileViewModel profile = new ProfileViewModel { Email = user.Email, Role = user.AspNetUserRoles.Where(r => r.UserId == user.Id).First().AspNetRoles.Name, Balance = 100, DaysEnough = 15, Units = user.Units, UsedDiskSpace = userUsedDiskSpase / 1048576, EmailsExist = user.EmailsParsed, EmailsLimit = unitInfo.LimitOfParsingEmails*user.Units, FullDiskSpase = unitInfo.LimitOfDiskSpase * user.Units, PercentageOfSpaceUsedOnTheDrive = userUsedDiskSpase / 1073741824 * 100 / unitInfo.LimitOfDiskSpase * user.Units, UsersExist = userExist, UsersLimit = unitInfo.Redactors * user.Units }; return View(profile); }
public void Receive(MailinData data) { try { var user = usersRepository.Find(w => w.CloudmailinEmail.Equals(data.Envelope.To)); var unitsHelper = new UnitsHelper(); if (user != null) { if (UserHelper.GetUserUsedDiskSpase(user.Id) / 1073741824 < unitsHelper.GetLimitOfDiskSpase(user.Units)) { // AddLog("Second if: "); var lastEmail = emailsRepository.FindAll(e => e.User_Id == user.Id).Last(); // AddLog("lastEmail.Id: " + lastEmail.Id); if (lastEmail != null) { if (lastEmail.Date.Month != DateTime.Now.Month) { user.EmailsParsed = 1; } else if (user.EmailsParsed < unitsHelper.GetLimitOfEmails(user.Units)) { user.EmailsParsed += 1; } else { return; } } else { // AddLog("5"); user.EmailsParsed = 1; } } else { // AddLog("6"); return; } List<Model.AttachmentModels> Attachment = new List<Model.AttachmentModels>(); if (data.Attachments != null) { // AddLog("1"); foreach (var emailAttachments in data.Attachments) { Model.AttachmentModels attachment = new Model.AttachmentModels(); if (emailAttachments.Content != null) { string path = @"D:\home\site\wwwroot\App_Data\UploadTemp\" + emailAttachments.File_Name; System.IO.File.WriteAllBytes(path, emailAttachments.Content); attachment.Name = emailAttachments.File_Name; attachment.Size = emailAttachments.Size; Attachment.Add(attachment); } } // AddLog("2"); } var emailSize = data.Html.Length * 4; emailSize += data.Plain.Length * 4; emailSize += data.Envelope.From.Length * 4; emailSize += data.Headers.Subject.Length * 4; Model.EmailModels Email = new Model.EmailModels { From = HttpUtility.HtmlEncode(data.Envelope.From), Subject = HttpUtility.HtmlEncode(data.Headers.Subject), Date = data.Headers.Date, Content = data.Plain, ContentHtml = data.Html, User_Id = user.Id, EmailSize = emailSize }; try { emailsRepository.Add(Email); emailsRepository.Commit(); } catch(Exception ex) { AddLog("emailsRepository.Commit(): " + ex.Message); } if (Attachment != null && Attachment.Count > 0) { foreach (var attachment in Attachment) { attachment.EmailModels_Id = Email.Id; attachmentsRepository.Add(attachment); } try { attachmentsRepository.Commit(); } catch (Exception ex) { AddLog(" attachmentsRepository.Commit(): " + ex.Message); } } UserHelper.newEmailWasRiceived = true; // AddLog("3"); var brandNewEmailId = emailsRepository.GetBrandNew(w => w.Date.Equals(data.Headers.Date)).Id; // AddLog("4"); ParseHelper.TryToParseEmail(brandNewEmailId, user.Id); } } catch(Exception ex) { AddLog("Receive(): " + ex.Message); } }
public ActionResult SaveCahngesInUnitProperties(int redactorsInUnit, double limitOfDiskSpaseInUnit, int limitOfLettersInUnit) { UnitsHelper uhelp = new UnitsHelper(); uhelp.ChangeUnitProperties(redactorsInUnit, limitOfDiskSpaseInUnit, limitOfLettersInUnit); return RedirectToAction("Index"); }
public JsonResult GetUnitProperties() { UnitsHelper uhelp = new UnitsHelper(); var unitInfo = uhelp.GetUnitInfo(); double[] BodyAndSubjectForSelectedKey = new double[3] { unitInfo.Redactors, unitInfo.LimitOfDiskSpase, unitInfo.LimitOfParsingEmails }; return Json(BodyAndSubjectForSelectedKey, JsonRequestBehavior.AllowGet); }