public IActionResult DataSheet(int Id = 0)
        {
            DataSheetViewModel model = new DataSheetViewModel();

            if (Id > 0)
            {
                model.DataSheet = _dataSheetService.GetById(Id);
                if (model.DataSheet == null)
                {
                    return(RedirectToAction("DataSheetList", "DataSheet"));
                }
                if (UserIdentityInfo.Roles.Contains(Roles.Customer))
                {
                    model.CustomerUser = true;
                    model.CustomerName = _customerService.GetCustomerNameById(model.DataSheet.CustomerId);
                }
                model.Customers = _customerService.GetAllCustomers(k => k.Id != model.DataSheet.CustomerId);
                model.Customers.Add(_customerService.GetById(model.DataSheet.CustomerId));
                model.Files = _fileService.GetFilesByDataSheetCustomer(Id);
            }
            else
            {
                var user = _userService.GetById(Convert.ToInt32(UserIdentityInfo.Id));
                if (user.CustomerId == null)
                {
                    model.Customers = _customerService.GetAllCustomers();
                    model.DataSheet = new DataSheet
                    {
                        Id      = 0,
                        Contact = "",
                        Status  = 0
                    };
                }
                else
                {
                    return(RedirectToAction("DataSheetList", "DataSheet"));
                    //model.CustomerUser = true;
                    //var customer = _customerService.GetById((int)user.CustomerId);
                    //model.DataSheet = new DataSheet
                    //{
                    //    Id = 0,
                    //    CustomerId = customer.Id,
                    //    Contact = user.FirstName + " " + user.LastName,
                    //    EmailAddress = customer.EmailAddress,
                    //    TelephoneNumber = customer.TelephoneNumber,
                    //    FaxNumber = customer.FaxNumber,
                    //    Status = 0
                    //};
                    //model.CustomerName = customer.DisplayName;
                }
            }
            return(View(model));
        }
        public JsonResult AddComment([FromBody] Comment comment)
        {
            CommentViewModel model = new CommentViewModel();

            try
            {
                comment.UserId     = Convert.ToInt32(UserIdentityInfo.Id);
                comment.CreateDate = DateTime.Now;
                _commentService.Add(comment);
                var comments = _commentService.GetCommentsByDataSheetId(comment.DataSheetId);
                model.Comments      = comments.Where(k => k.CommentId == null).OrderByDescending(k => k.CreateDate).ToList();
                model.ReplyComments = comments.Where(k => k.CommentId != null).OrderByDescending(k => k.CreateDate).ToList();
                model.Message       = "";
                if (UserIdentityInfo.Roles.Contains(Roles.FTSUser))
                {
                    var datasheet = _dataSheetService.GetById(comment.DataSheetId);
                    datasheet.FTSUserId = Convert.ToInt32(UserIdentityInfo.Id);
                    _dataSheetService.Update(datasheet);
                }
            }
            catch (Exception ex)
            {
                model.Message = ex.Message;
            }
            return(Json(model));
        }
示例#3
0
        public async Task <JsonResult> AddFile(IEnumerable <IFormFile> file, int Id)
        {
            string error = "";

            try
            {
                foreach (var item in file)
                {
                    string filename = item.FileName;
                    int    index    = filename.LastIndexOf("\\");
                    filename = filename.Substring(index + 1, filename.Length - index - 1);

                    var folder   = CreateOrUpdateFolder(Id, fileHelper.FilePath);
                    var filePath = Path.Combine(folder, "FTS", filename);
                    if (UserIdentityInfo.Roles.Contains(Roles.Customer))
                    {
                        filePath = Path.Combine(folder, "MUSTERI", filename);
                    }
                    using (var stream = new FileStream(filePath, FileMode.Create))
                    {
                        await item.CopyToAsync(stream);
                    }
                    Entities.Concrete.File fileBox = new Entities.Concrete.File();
                    fileBox.DataSheetId = Id;
                    fileBox.FileName    = filename;
                    fileBox.FilePath    = filePath;
                    fileBox.ContentType = item.ContentType;
                    fileBox.Uploader    = "MUSTERI";
                    fileBox.CreateDate  = DateTime.Now;
                    fileBox.CreateUser  = Convert.ToInt32(UserIdentityInfo.Id);
                    _fileService.Add(fileBox);

                    if (UserIdentityInfo.Roles.Contains(Roles.FTSUser))
                    {
                        var datasheet = _dataSheetService.GetById(Id);
                        datasheet.FTSUserId = Convert.ToInt32(UserIdentityInfo.Id);
                        _dataSheetService.Update(datasheet);
                    }
                }
            }
            catch (Exception ex)
            {
                error = ex.Message;
            }

            return(Json(error));
        }
示例#4
0
        private List <EmailAddress> GetToAddress(Comment comment)
        {
            var ftsuser = _dataSheetService.GetById(comment.DataSheetId).FTSUserId;

            if (ftsuser == null)
            {
                return(null);
            }

            List <EmailAddress> emailAddresses = new List <EmailAddress>();

            emailAddresses.Add(new EmailAddress
            {
                Address = _userService.GetById((int)ftsuser).Email
            });
            emailAddresses.Add(new EmailAddress
            {
                Address = _userService.GetById(comment.UserId).Email
            });

            return(emailAddresses);
        }