public RequestResult <VesselModel> InsUpd(VesselModel model) { bool isAdd = model.VesselId == null; ImagesServices ImageServ = new ImagesServices(); FileServices FileServ = new FileServices(); VesselDA vesselDA = new VesselDA(); RequestResult <VesselModel> resp = new RequestResult <VesselModel>() { Status = Status.Success }; TransactionOptions scopeOptions = new TransactionOptions(); //scopeOptions.IsolationLevel = IsolationLevel.ReadCommitted; using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required, scopeOptions)) { try { resp = vesselDA.InsUpd(model); if (model.Image.FileContent != null && model.Image.FileContent.Length > 0) { Stream ProcessedImage = ImageServ.ResizeProfileImage(model.Image.FileContent); ProcessedImage.Position = 0; var FileNameExtension = ".jpg"; model.Image.FileName = "vesselimage-" + model.VesselId + FileNameExtension; var path = "vessels/" + model.VesselId + "/images/"; model.Image.ContentType = "image/jpeg"; model.Image.Path = path; model.Image.FileContent = ProcessedImage; FileServ.SaveFile(model.Image); if (isAdd) { resp = vesselDA.InsUpd(model); } } ts.Complete(); } catch (Exception ex) { ts.Dispose(); resp = new RequestResult <VesselModel>() { Status = Status.Error, Message = ex.Message }; Elmah.ErrorSignal.FromCurrentContext().Raise(ex); throw ex; } } return(resp); }
public RequestResult <object> SaveProfile(UserPersonModel parameters) { TransactionOptions scopeOptions = new TransactionOptions(); //scopeOptions.IsolationLevel = IsolationLevel.ReadCommitted; using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required, scopeOptions)) { try { FileModel parametersFile = new FileModel(); if (parameters.File != null && parameters.File.Length > 0) { ImagesServices ImageServ = new ImagesServices(); Stream ProcessedImage = ImageServ.ResizeProfileImage(parameters.File); ProcessedImage.Position = 0; var FileNameExtension = ".jpg";//Path.GetExtension(parameters.FileName); parameters.FileName = "profileimage-" + parameters.UserId + FileNameExtension; var ProfileImgPath = "users/" + parameters.UserId + "/images/profile/"; parametersFile.FileReferenceId = parameters.FileReferenceId ?? 0; parametersFile.FileName = parameters.FileName; parametersFile.ContentType = "image/jpeg"; //parameters.ContentType; parametersFile.Path = ProfileImgPath; parametersFile.FileContent = ProcessedImage; //parameters.File; FileServices FileServ = new FileServices(); FileServ.SaveFile(parametersFile); parameters.FileReferenceId = parametersFile.FileReferenceId; } //here we send person data PersonDA PersonDA = new PersonDA(); PersonModel parametersPerson = new PersonModel(); parametersPerson.PersonId = parameters.PersonId; parametersPerson.FirstName = parameters.FirstName; parametersPerson.LastName = parameters.LastName; parametersPerson.Email = parameters.Email; parametersPerson.PhoneNumber = parameters.PhoneNumber; parametersPerson.Skype = parameters.Skype; parametersPerson.UserId = parameters.UserId; parametersPerson.CompanyId = parameters.CompanyId; parametersPerson.FileReferenceId = parameters.FileReferenceId; RequestResult <object> responsePerson = PersonDA.insUpdPerson(parametersPerson); if (responsePerson.Status == Status.Error) { throw new Exception(responsePerson.Message); } ts.Complete(); return(responsePerson); } catch (Exception ex) { ts.Dispose(); return(new RequestResult <object>() { Status = Status.Error, Message = ex.Message }); } } }